1. 21 3月, 2017 2 次提交
    • J
      HID: hiddev: reallocate hiddev's minor number · 733aca90
      Jaejoong Kim 提交于
      We need to store the minor number each drivers. In case of hidraw, the
      minor number is stored stores in struct hidraw. But hiddev's minor is
      located in struct hid_device.
      
      The hid-core driver announces a kernel message which driver is loaded when
      HID device connected, but hiddev's minor number is always zero. To proper
      display hiddev's minor number, we need to store the minor number asked from
      usb core and do some refactoring work (move from hiddev.c to hiddev.h) to
      access hiddev in hid-core.
      
      [jkosina@suse.cz: rebase on top of newer codebase]
      Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NJaejoong Kim <climbbb.kim@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      733aca90
    • B
      HID: remove initial reading of reports at connect · 9143059f
      Benjamin Tissoires 提交于
      It looks like a bunch of devices do not like to be polled
      for their reports at init time. When you look into the details,
      it seems that for those that are requiring the quirk
      HID_QUIRK_NO_INIT_REPORTS, the driver fails to retrieve part
      of the features/inputs while others (more generic) work.
      
      IMO, it should be acceptable to remove the need for the quirk
      in the general case. On the small amount of cases where
      we actually need to read the current values, the driver
      in charge (hid-mt or wacom) already retrieves the features
      manually.
      
      There are 2 cases where we might need to retrieve the reports at
      init:
      1. hiddev devices with specific use-space tool
      2. a device that would require the driver to fetch a specific
         feature/input at plug
      
      For case 2, I have seen this a few time on hid-multitouch. It
      is solved in hid-multitouch directly by fetching the feature.
      I hope it won't be too common and this can be solved on a per-case
      basis (crossing fingers).
      
      For case 1, we moved the implementation of HID_QUIRK_NO_INIT_REPORTS
      in hiddev. When somebody starts calling ioctls that needs an initial
      update, the hiddev device will fetch the initial state of the reports
      to mimic the current behavior. This adds a small amount of time during
      the first HIDIOCGUSAGE(S), but it should be acceptable in
      most cases. To keep the currently known broken devices, we have to
      keep around HID_QUIRK_NO_INIT_REPORTS, but the scope will only be
      for hiddev.
      
      Note that I don't think hidraw would be affected and I checked that
      the FF drivers that need to interact with the report fields are all
      using output reports, which are not initialized by
      usbhid_init_reports().
      
      NO_INIT_INPUT_REPORTS is then replaced by HID_QUIRK_NO_INIT_REPORTS:
      there is no point keeping it for just one device.
      Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      9143059f
  2. 18 2月, 2017 2 次提交
  3. 17 2月, 2017 1 次提交
  4. 16 2月, 2017 3 次提交
    • A
      genirq/msi: Add stubs for get_cached_msi_msg/pci_write_msi_msg · 2f44e29c
      Arnd Bergmann 提交于
      A bug fix to the MSIx handling in vfio added references to functions
      that may not be defined if MSI is disabled in the kernel, resulting in
      this link error:
      
      drivers/built-in.o: In function `vfio_msi_set_vector_signal':
      :(.text+0x450808): undefined reference to `get_cached_msi_msg'
      :(.text+0x45080c): undefined reference to `write_msi_msg'
      
      As suggested by Alex Williamson, add stub implementations for
      get_cached_msi_msg() and pci_write_msi_msg().
      
      In case this bugfix gets backported, please note that the #ifdef
      has changed over time, originally both functions were implemented
      in drivers/pci/msi.c and controlled by CONFIG_PCI_MSI, while nowadays
      get_cached_msi_msg() is part of the generic MSI support and can be
      used without PCI.
      
      Fixes: b8f02af0 ("vfio/pci: Restore MSIx message prior to enabling")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Alex Williamson <alex.williamson@redhat.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Bart Van Assche <bart.vanassche@sandisk.com>
      Link: http://lkml.kernel.org/r/1413190208.4202.34.camel@ul30vt.home
      Link: http://lkml.kernel.org/r/20170214215343.3307861-1-arnd@arndb.deSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      2f44e29c
    • D
      async_tx: deprecate broken support for channel switching · b802c841
      Dan Williams 提交于
      Back in 2011, Russell pointed out that the "async_tx channel switch"
      capability was violating expectations of the dma mapping api [1]. At the
      time the existing uses were reviewed as still usable, but that longer
      term we needed a rework of the raid offload implementation. While some
      of the framework for a fixed implementation was introduced in 2012 [2],
      the wider rewrite never materialized.
      
      There continues to be interest in raid offload with new dma/raid engine
      drivers being submitted. Those drivers must not build on top of the
      broken channel switching capability.
      
      Prevent async_tx from using an offload engine if the channel switching
      capability is enabled. This still allows the engine to be used for other
      purposes, but the broken way async_tx uses these engines for raid will
      be disabled. For configurations where this causes a performance
      regression the only solution is to start the work of eliminating the
      async_tx api and moving channel management into the raid code directly
      where it can manage marshalling an operation stream between multiple dma
      channels.
      
      [1]: http://lists.infradead.org/pipermail/linux-arm-kernel/2011-January/036753.html
      [2]: https://lkml.org/lkml/2012/12/6/71
      
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Anup Patel <anup.patel@broadcom.com>
      Cc: Rameshwar Prasad Sahu <rsahu@apm.com>
      Cc: Saeed Bishara <saeed.bishara@gmail.com>
      Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Reported-by: NRussell King <linux@armlinux.org.uk>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      b802c841
    • D
      rhashtable: Revert nested table changes. · bf3f14d6
      David S. Miller 提交于
      This reverts commits:
      
      6a254780
      9dbbfb0a
      40137906
      
      It's too risky to put in this late in the release
      cycle.  We'll put these changes into the next merge
      window instead.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bf3f14d6
  5. 15 2月, 2017 2 次提交
  6. 14 2月, 2017 4 次提交
  7. 13 2月, 2017 20 次提交
  8. 11 2月, 2017 2 次提交
  9. 10 2月, 2017 4 次提交