1. 10 4月, 2015 2 次提交
  2. 09 4月, 2015 1 次提交
    • A
      [media] Add and use IS_REACHABLE macro · 9b174527
      Arnd Bergmann 提交于
      In the media drivers, the v4l2 core knows about all submodules
      and calls into them from a common function. However this cannot
      work if the modules that get called are loadable and the
      core is built-in. In that case we get
      
      drivers/built-in.o: In function `set_type':
      drivers/media/v4l2-core/tuner-core.c:301: undefined reference to `tea5767_attach'
      drivers/media/v4l2-core/tuner-core.c:307: undefined reference to `tea5761_attach'
      drivers/media/v4l2-core/tuner-core.c:349: undefined reference to `tda9887_attach'
      drivers/media/v4l2-core/tuner-core.c:405: undefined reference to `xc4000_attach'
      
      This was working previously, until the IS_ENABLED() macro was used
      to replace the construct like
      
       #if defined(CONFIG_DVB_CX24110) || (defined(CONFIG_DVB_CX24110_MODULE) && defined(MODULE))
      
      with the difference that the new code no longer checks whether it is being
      built as a loadable module itself.
      
      To fix this, this new patch adds an 'IS_REACHABLE' macro, which evaluates
      true in exactly the condition that was used previously. The downside
      of this is that this trades an obvious link error for a more subtle
      runtime failure, but it is clear that the change that introduced the
      link error was unintentional and it seems better to revert it for
      now. Also, a similar change was originally created by Trent Piepho
      and then reverted by teh change to the IS_ENABLED macro.
      
      Ideally Kconfig would be used to avoid the case of a broken dependency,
      or the code restructured in a way to turn around the dependency, but either
      way would require much larger changes here.
      
      Fixes: 7b34be71 ("[media] use IS_ENABLED() macro")
      See-also: c5dec9fb ("V4L/DVB (4751): Fix DBV_FE_CUSTOMISE for card drivers compiled into kernel")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      9b174527
  3. 08 4月, 2015 2 次提交
  4. 03 4月, 2015 19 次提交
  5. 24 3月, 2015 3 次提交
  6. 03 3月, 2015 4 次提交
  7. 26 2月, 2015 1 次提交
    • H
      [media] media.h: mark alsa struct in media_entity_desc as TODO · 7e182f78
      Hans Verkuil 提交于
      The alsa struct in struct media_entity_desc is now marked as deprecated.
      However, the alsa struct should remain as it is since it cannot be replaced
      by a simple major/minor device node description. The alsa struct was designed
      to be used as an alsa card description so V4L2 drivers could use this to expose
      the alsa card that they create to carry the captured audio. Such a card is not
      just a PCM device, but also needs to contain the alsa subdevice information,
      and it may map to multiple devices, e.g. a PCM and a mixer device, such as the
      au0828 usb stick creates.
      
      This is exactly as intended and this cannot and should not be replaced by a
      simple major/minor.
      
      However, whether this information is in the right form for an ALSA device such
      that it can handle udev renaming rules as well is another matter. So mark this
      alsa struct as TODO and document the problems involved.
      
      Updated the documentation as well to reflect this and to add the 'major'
      and 'minor' field documentation.
      
      Updated the documentation to clearly state that struct dev is to be used for
      (sub-)devices that create a single device node. Other devices need their own
      structure here.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      7e182f78
  8. 23 2月, 2015 4 次提交
  9. 22 2月, 2015 1 次提交
    • L
      kernel: make READ_ONCE() valid on const arguments · dd369297
      Linus Torvalds 提交于
      The use of READ_ONCE() causes lots of warnings witht he pending paravirt
      spinlock fixes, because those ends up having passing a member to a
      'const' structure to READ_ONCE().
      
      There should certainly be nothing wrong with using READ_ONCE() with a
      const source, but the helper function __read_once_size() would cause
      warnings because it would drop the 'const' qualifier, but also because
      the destination would be marked 'const' too due to the use of 'typeof'.
      
      Use a union of types in READ_ONCE() to avoid this issue.
      
      Also make sure to use parenthesis around the macro arguments to avoid
      possible operator precedence issues.
      Tested-by: NIngo Molnar <mingo@kernel.org>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      dd369297
  10. 20 2月, 2015 3 次提交
    • K
      NVMe: Fix potential corruption during shutdown · 07836e65
      Keith Busch 提交于
      The driver has to end unreturned commands at some point even if the
      controller has not provided a completion. The driver tried to be safe by
      deleting IO queues prior to ending all unreturned commands. That should
      cause the controller to internally abort inflight commands, but IO queue
      deletion request does not have to be successful, so all bets are off. We
      still have to make progress, so to be extra safe, this patch doesn't
      clear a queue to release the dma mapping for a command until after the
      pci device has been disabled.
      
      This patch removes the special handling during device initialization
      so controller recovery can be done all the time. This is possible since
      initialization is not inlined with pci probe anymore.
      Reported-by: NNilish Choudhury <nilesh.choudhury@oracle.com>
      Signed-off-by: NKeith Busch <keith.busch@intel.com>
      07836e65
    • K
      NVMe: Asynchronous controller probe · 2e1d8448
      Keith Busch 提交于
      This performs the longest parts of nvme device probe in scheduled work.
      This speeds up probe significantly when multiple devices are in use.
      Signed-off-by: NKeith Busch <keith.busch@intel.com>
      2e1d8448
    • K
      NVMe: Register management handle under nvme class · b3fffdef
      Keith Busch 提交于
      This creates a new class type for nvme devices to register their
      management character devices with. This is so we do not rely on miscdev
      to provide enough minors for as many nvme devices some people plan to
      use. The previous limit was approximately 60 NVMe controllers, depending
      on the platform and kernel. Now the limit is 1M, which ought to be enough
      for anybody.
      
      Since we have a new device class, it makes sense to attach the block
      devices under this as well, so part of this patch moves the management
      handle initialization prior to the namespaces discovery.
      Signed-off-by: NKeith Busch <keith.busch@intel.com>
      b3fffdef