提交 1fbd55c0 编写于 作者: L Linus Torvalds

Merge tag 'driver-core-4.15-rc3' of...

Merge tag 'driver-core-4.15-rc3' of git://git.kernel.org/pub/scm/linux/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
...@@ -91,22 +91,23 @@ config FIRMWARE_IN_KERNEL ...@@ -91,22 +91,23 @@ config FIRMWARE_IN_KERNEL
depends on FW_LOADER depends on FW_LOADER
default y default y
help help
The kernel source tree includes a number of firmware 'blobs' Various drivers in the kernel source tree may require firmware,
that are used by various drivers. The recommended way to which is generally available in your distribution's linux-firmware
use these is to run "make firmware_install", which, after package.
converting ihex files to binary, copies all of the needed
binary files in firmware/ to /lib/firmware/ on your system so The linux-firmware package should install firmware into
that they can be loaded by userspace helpers on request. /lib/firmware/ on your system, so they can be loaded by userspace
helpers on request.
Enabling this option will build each required firmware blob Enabling this option will build each required firmware blob
into the kernel directly, where request_firmware() will find specified by EXTRA_FIRMWARE into the kernel directly, where
them without having to call out to userspace. This may be request_firmware() will find them without having to call out to
useful if your root file system requires a device that uses userspace. This may be useful if your root file system requires a
such firmware and do not wish to use an initrd. device that uses such firmware and you do not wish to use an
initrd.
This single option controls the inclusion of firmware for This single option controls the inclusion of firmware for
every driver that uses request_firmware() and ships its every driver that uses request_firmware(), which avoids a
firmware in the kernel source tree, which avoids a
proliferation of 'Include firmware for xxx device' options. proliferation of 'Include firmware for xxx device' options.
Say 'N' and let firmware be loaded from userspace. Say 'N' and let firmware be loaded from userspace.
......
...@@ -39,7 +39,7 @@ static int isa_bus_probe(struct device *dev) ...@@ -39,7 +39,7 @@ static int isa_bus_probe(struct device *dev)
{ {
struct isa_driver *isa_driver = dev->platform_data; 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 isa_driver->probe(dev, to_isa_dev(dev)->id);
return 0; return 0;
...@@ -49,7 +49,7 @@ static int isa_bus_remove(struct device *dev) ...@@ -49,7 +49,7 @@ static int isa_bus_remove(struct device *dev)
{ {
struct isa_driver *isa_driver = dev->platform_data; 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 isa_driver->remove(dev, to_isa_dev(dev)->id);
return 0; return 0;
...@@ -59,7 +59,7 @@ static void isa_bus_shutdown(struct device *dev) ...@@ -59,7 +59,7 @@ static void isa_bus_shutdown(struct device *dev)
{ {
struct isa_driver *isa_driver = dev->platform_data; 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); isa_driver->shutdown(dev, to_isa_dev(dev)->id);
} }
...@@ -67,7 +67,7 @@ static int isa_bus_suspend(struct device *dev, pm_message_t state) ...@@ -67,7 +67,7 @@ static int isa_bus_suspend(struct device *dev, pm_message_t state)
{ {
struct isa_driver *isa_driver = dev->platform_data; 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 isa_driver->suspend(dev, to_isa_dev(dev)->id, state);
return 0; return 0;
...@@ -77,7 +77,7 @@ static int isa_bus_resume(struct device *dev) ...@@ -77,7 +77,7 @@ static int isa_bus_resume(struct device *dev)
{ {
struct isa_driver *isa_driver = dev->platform_data; 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 isa_driver->resume(dev, to_isa_dev(dev)->id);
return 0; return 0;
......
...@@ -216,6 +216,8 @@ static inline void debugfs_remove(struct dentry *dentry) ...@@ -216,6 +216,8 @@ static inline void debugfs_remove(struct dentry *dentry)
static inline void debugfs_remove_recursive(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) static inline int debugfs_file_get(struct dentry *dentry)
{ {
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册