Skip to content

Commit 85e969f

Browse files
gregkhcrazycat69
authored andcommitted
driver core: have match() callback in struct bus_type take a const *
In the match() callback, the struct device_driver * should not be changed, so change the function callback to be a const *. This is one step of many towards making the driver core safe to have struct device_driver in read-only memory. Because the match() callback is in all busses, all busses are modified to handle this properly. This does entail switching some container_of() calls to container_of_const() to properly handle the constant *. For some busses, like PCI and USB and HV, the const * is cast away in the match callback as those busses do want to modify those structures at this point in time (they have a local lock in the driver structure.) That will have to be changed in the future if they wish to have their struct device * in read-only-memory. Cc: Rafael J. Wysocki <[email protected]> Reviewed-by: Alex Elder <[email protected]> Acked-by: Sumit Garg <[email protected]> Link: https://lore.kernel.org/r/2024070136-wrongdoer-busily-01e8@gregkh Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 5c61248 commit 85e969f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/media/pci/bt8xx/bttv-gpio.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
/* ----------------------------------------------------------------------- */
2929
/* internal: the bttv "bus" */
3030

31-
static int bttv_sub_bus_match(struct device *dev, struct device_driver *drv)
31+
static int bttv_sub_bus_match(struct device *dev, const struct device_driver *drv)
3232
{
33-
struct bttv_sub_driver *sub = to_bttv_sub_drv(drv);
33+
const struct bttv_sub_driver *sub = to_bttv_sub_drv(drv);
3434
int len = strlen(sub->wanted);
3535

3636
if (0 == strncmp(dev_name(dev), sub->wanted, len))

0 commit comments

Comments
 (0)