Skip to content

Commit

Permalink
Merge tag 'driver-core-4.15-rc3' of git://git.kernel.org/pub/scm/linu…
Browse files Browse the repository at this point in the history
…x/kernel/git/gregkh/driver-core

Pull driver core fixes from Greg KH:
 "Here are 3 small fixes for some reported issues:

   - a debugfs build error that lots of people have reported

   - a Kconfig help text cleanup now that the firmware is not in the
     kernel tree

   - an ISA bus bug fix for a reported issue that has been there since
     2.6.18.

  All of these have been in linux-next with no reported issues"

* tag 'driver-core-4.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
  firmware: cleanup FIRMWARE_IN_KERNEL message
  isa: Prevent NULL dereference in isa_bus driver callbacks
  debugfs: fix debugfs_real_fops() build error
  • Loading branch information
Linus Torvalds committed Dec 5, 2017
2 parents 7399693 + 0946b2f commit 1fbd55c
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 17 deletions.
25 changes: 13 additions & 12 deletions drivers/base/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -91,22 +91,23 @@ config FIRMWARE_IN_KERNEL
depends on FW_LOADER
default y
help
The kernel source tree includes a number of firmware 'blobs'
that are used by various drivers. The recommended way to
use these is to run "make firmware_install", which, after
converting ihex files to binary, copies all of the needed
binary files in firmware/ to /lib/firmware/ on your system so
that they can be loaded by userspace helpers on request.
Various drivers in the kernel source tree may require firmware,
which is generally available in your distribution's linux-firmware
package.

The linux-firmware package should install firmware into
/lib/firmware/ on your system, so they can be loaded by userspace
helpers on request.

Enabling this option will build each required firmware blob
into the kernel directly, where request_firmware() will find
them without having to call out to userspace. This may be
useful if your root file system requires a device that uses
such firmware and do not wish to use an initrd.
specified by EXTRA_FIRMWARE into the kernel directly, where
request_firmware() will find them without having to call out to
userspace. This may be useful if your root file system requires a
device that uses such firmware and you do not wish to use an
initrd.

This single option controls the inclusion of firmware for
every driver that uses request_firmware() and ships its
firmware in the kernel source tree, which avoids a
every driver that uses request_firmware(), which avoids a
proliferation of 'Include firmware for xxx device' options.

Say 'N' and let firmware be loaded from userspace.
Expand Down
10 changes: 5 additions & 5 deletions drivers/base/isa.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ static int isa_bus_probe(struct device *dev)
{
struct isa_driver *isa_driver = dev->platform_data;

if (isa_driver->probe)
if (isa_driver && isa_driver->probe)
return isa_driver->probe(dev, to_isa_dev(dev)->id);

return 0;
Expand All @@ -49,7 +49,7 @@ static int isa_bus_remove(struct device *dev)
{
struct isa_driver *isa_driver = dev->platform_data;

if (isa_driver->remove)
if (isa_driver && isa_driver->remove)
return isa_driver->remove(dev, to_isa_dev(dev)->id);

return 0;
Expand All @@ -59,15 +59,15 @@ static void isa_bus_shutdown(struct device *dev)
{
struct isa_driver *isa_driver = dev->platform_data;

if (isa_driver->shutdown)
if (isa_driver && isa_driver->shutdown)
isa_driver->shutdown(dev, to_isa_dev(dev)->id);
}

static int isa_bus_suspend(struct device *dev, pm_message_t state)
{
struct isa_driver *isa_driver = dev->platform_data;

if (isa_driver->suspend)
if (isa_driver && isa_driver->suspend)
return isa_driver->suspend(dev, to_isa_dev(dev)->id, state);

return 0;
Expand All @@ -77,7 +77,7 @@ static int isa_bus_resume(struct device *dev)
{
struct isa_driver *isa_driver = dev->platform_data;

if (isa_driver->resume)
if (isa_driver && isa_driver->resume)
return isa_driver->resume(dev, to_isa_dev(dev)->id);

return 0;
Expand Down
2 changes: 2 additions & 0 deletions include/linux/debugfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,8 @@ static inline void debugfs_remove(struct dentry *dentry)
static inline void debugfs_remove_recursive(struct dentry *dentry)
{ }

const struct file_operations *debugfs_real_fops(const struct file *filp);

static inline int debugfs_file_get(struct dentry *dentry)
{
return 0;
Expand Down

0 comments on commit 1fbd55c

Please sign in to comment.