Skip to content

Commit 7240153

Browse files
committed
Merge tag 'driver-core-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core updates from Greg KH: "Here is the big driver core updates for 5.11-rc1 This time there was a lot of different work happening here for some reason: - redo of the fwnode link logic, speeding it up greatly - auxiliary bus added (this was a tag that will be pulled in from other trees/maintainers this merge window as well, as driver subsystems started to rely on it) - platform driver core cleanups on the way to fixing some long-time api updates in future releases - minor fixes and tweaks. All have been in linux-next with no (finally) reported issues. Testing there did helped in shaking issues out a lot :)" * tag 'driver-core-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (39 commits) driver core: platform: don't oops in platform_shutdown() on unbound devices ACPI: Use fwnode_init() to set up fwnode misc: pvpanic: Replace OF headers by mod_devicetable.h misc: pvpanic: Combine ACPI and platform drivers usb: host: sl811: Switch to use platform_get_mem_or_io() vfio: platform: Switch to use platform_get_mem_or_io() driver core: platform: Introduce platform_get_mem_or_io() dyndbg: fix use before null check soc: fix comment for freeing soc_dev_attr driver core: platform: use bus_type functions driver core: platform: change logic implementing platform_driver_probe driver core: platform: reorder functions driver core: make driver_probe_device() static driver core: Fix a couple of typos driver core: Reorder devices on successful probe driver core: Delete pointless parameter in fwnode_operations.add_links driver core: Refactor fw_devlink feature efi: Update implementation of add_links() to create fwnode links of: property: Update implementation of add_links() to create fwnode links driver core: Use device's fwnode to check if it is waiting for suppliers ...
2 parents 157f809 + 46e85af commit 7240153

File tree

31 files changed

+827
-770
lines changed

31 files changed

+827
-770
lines changed

drivers/acpi/property.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ static bool acpi_nondev_subnode_extract(const union acpi_object *desc,
7676
return false;
7777

7878
dn->name = link->package.elements[0].string.pointer;
79-
dn->fwnode.ops = &acpi_data_fwnode_ops;
79+
fwnode_init(&dn->fwnode, &acpi_data_fwnode_ops);
8080
dn->parent = parent;
8181
INIT_LIST_HEAD(&dn->data.properties);
8282
INIT_LIST_HEAD(&dn->data.subnodes);

drivers/acpi/scan.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1589,7 +1589,7 @@ void acpi_init_device_object(struct acpi_device *device, acpi_handle handle,
15891589
device->device_type = type;
15901590
device->handle = handle;
15911591
device->parent = acpi_bus_get_parent(handle);
1592-
device->fwnode.ops = &acpi_device_fwnode_ops;
1592+
fwnode_init(&device->fwnode, &acpi_device_fwnode_ops);
15931593
acpi_set_device_status(device, sta);
15941594
acpi_device_get_busid(device);
15951595
acpi_set_pnp_ids(handle, &device->pnp, type);

drivers/base/auxiliary.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,15 @@ static int auxiliary_bus_remove(struct device *dev)
9292

9393
static void auxiliary_bus_shutdown(struct device *dev)
9494
{
95-
struct auxiliary_driver *auxdrv = to_auxiliary_drv(dev->driver);
96-
struct auxiliary_device *auxdev = to_auxiliary_dev(dev);
95+
struct auxiliary_driver *auxdrv = NULL;
96+
struct auxiliary_device *auxdev;
97+
98+
if (dev->driver) {
99+
auxdrv = to_auxiliary_drv(dev->driver);
100+
auxdev = to_auxiliary_dev(dev);
101+
}
97102

98-
if (auxdrv->shutdown)
103+
if (auxdrv && auxdrv->shutdown)
99104
auxdrv->shutdown(auxdev);
100105
}
101106

drivers/base/base.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@ extern void device_release_driver_internal(struct device *dev,
133133
struct device *parent);
134134

135135
extern void driver_detach(struct device_driver *drv);
136-
extern int driver_probe_device(struct device_driver *drv, struct device *dev);
137136
extern void driver_deferred_probe_del(struct device *dev);
138137
extern void device_set_deferred_probe_reason(const struct device *dev,
139138
struct va_format *vaf);

drivers/base/class.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ static void class_create_release(struct class *cls)
210210
}
211211

212212
/**
213-
* class_create - create a struct class structure
213+
* __class_create - create a struct class structure
214214
* @owner: pointer to the module that is to "own" this struct class
215215
* @name: pointer to a string for the name of this class.
216216
* @key: the lock_class_key for this class; used by mutex lock debugging

0 commit comments

Comments
 (0)