Commit Graph

4 Commits

Author SHA1 Message Date
Mark Langsdorf b38322799b driver core: make struct device_type.uevent() take a const *
JIRA: https://issues.redhat.com/browse/RHEL-1023
Conflicts:
       include/linux/device.h - minor context differences
       include/linux/i3c/device.h - minor context differences

commit 162736b0d71a9630f7c99dda7cefd5600fa03d69
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Jan 11 12:30:07 2023 +0100

The uevent() callback in struct device_type should not be modifying the
device that is passed into it, so mark it as a const * and propagate the
function signature changes out into all relevant subsystems that use
this callback.

Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Andreas Noever <andreas.noever@gmail.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Bard Liao <yung-chuan.liao@linux.intel.com>
Cc: Chaitanya Kulkarni <kch@nvidia.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Jilin Yuan <yuanjilin@cdjrlc.com>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: Len Brown <lenb@kernel.org>
Cc: Mark Gross <markgross@kernel.org>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Cc: Maximilian Luz <luzmaximilian@gmail.com>
Cc: Michael Jamet <michael.jamet@intel.com>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Sanyog Kale <sanyog.r.kale@intel.com>
Cc: Sean Young <sean@mess.org>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Won Chung <wonchung@google.com>
Cc: Yehezkel Bernat <YehezkelShB@gmail.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> # for Thunderbolt
Acked-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Acked-by: Wolfram Sang <wsa@kernel.org>
Acked-by: Vinod Koul <vkoul@kernel.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230111113018.459199-6-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Mark Langsdorf <mlangsdo@redhat.com>
2023-10-23 10:35:56 -05:00
Al Stone a5384e8ee5 bus: Make remove callback return void
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2071830
Depends: https://bugzilla.redhat.com/show_bug.cgi?id=2071840
Tested: This is one of a series of patch sets to enable Arm SystemReady IR
 support in the kernel for NXP i.MX8 platforms.  At this stage, this
 has been tested by ensuring we can survive the CI/CD loop -- i.e.,
 that we have not broken anything else, and a simple boot test.  When
 sufficient drivers have been brought in for i.MX8M, we will be able
 to run further tests.

Conflicts:
    drivers/dma/idxd/sysfs.c -- there is no driver remove function
    to be modified so ignored this portion of the patch.

    drivers/vfio/mdev/mdev_driver.c -- slightly different context
    than expected but again this is a simple type change for
    a function causing a simple "return" to also be removed.

    drivers/net/netdevsim/bus.c -- similar to mdev_driver.c, there
    is a different overall context, but this change is only a simple
    function return type change (int to void).

commit fc7a6209d5710618eb4f72a77cd81b8d694ecf89
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date:   Tue Jul 13 21:35:22 2021 +0200

    bus: Make remove callback return void

    The driver core ignores the return value of this callback because there
    is only little it can do when a device disappears.

    This is the final bit of a long lasting cleanup quest where several
    buses were converted to also return void from their remove callback.
    Additionally some resource leaks were fixed that were caused by drivers
    returning an error code in the expectation that the driver won't go
    away.

    With struct bus_type::remove returning void it's prevented that newly
    implemented buses return an ignored error code and so don't anticipate
    wrong expectations for driver authors.

    Reviewed-by: Tom Rix <trix@redhat.com> (For fpga)
    Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Reviewed-by: Cornelia Huck <cohuck@redhat.com> (For drivers/s390 and drivers/vfio)
    Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> (For ARM, Amba and related parts)
    Acked-by: Mark Brown <broonie@kernel.org>
    Acked-by: Chen-Yu Tsai <wens@csie.org> (for sunxi-rsb)
    Acked-by: Pali Rohár <pali@kernel.org>
    Acked-by: Mauro Carvalho Chehab <mchehab@kernel.org> (for media)
    Acked-by: Hans de Goede <hdegoede@redhat.com> (For drivers/platform)
    Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Acked-By: Vinod Koul <vkoul@kernel.org>
    Acked-by: Juergen Gross <jgross@suse.com> (For xen)
    Acked-by: Lee Jones <lee.jones@linaro.org> (For mfd)
    Acked-by: Johannes Thumshirn <jth@kernel.org> (For mcb)
    Acked-by: Johan Hovold <johan@kernel.org>
    Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> (For slimbus)
    Acked-by: Kirti Wankhede <kwankhede@nvidia.com> (For vfio)
    Acked-by: Maximilian Luz <luzmaximilian@gmail.com>
    Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> (For ulpi and typec)
    Acked-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> (For ipack)
    Acked-by: Geoff Levand <geoff@infradead.org> (For ps3)
    Acked-by: Yehezkel Bernat <YehezkelShB@gmail.com> (For thunderbolt)
    Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> (For intel_th)
    Acked-by: Dominik Brodowski <linux@dominikbrodowski.net> (For pcmcia)
    Acked-by: Rafael J. Wysocki <rafael@kernel.org> (For ACPI)
    Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org> (rpmsg and apr)
    Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> (For intel-ish-hid)
    Acked-by: Dan Williams <dan.j.williams@intel.com> (For CXL, DAX, and NVDIMM)
    Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com> (For isa)
    Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (For firewire)
    Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> (For hid)
    Acked-by: Thorsten Scherer <t.scherer@eckelmann.de> (For siox)
    Acked-by: Sven Van Asbroeck <TheSven73@gmail.com> (For anybuss)
    Acked-by: Ulf Hansson <ulf.hansson@linaro.org> (For MMC)
    Acked-by: Wolfram Sang <wsa@kernel.org> # for I2C
    Acked-by: Sudeep Holla <sudeep.holla@arm.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Acked-by: Finn Thain <fthain@linux-m68k.org>
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Link: https://lore.kernel.org/r/20210713193522.1770306-6-u.kleine-koenig@pengutronix.de
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    (cherry picked from commit fc7a6209d5710618eb4f72a77cd81b8d694ecf89)

Signed-off-by: Al Stone <ahs3@redhat.com>
2022-08-25 10:41:31 -06:00
Maximilian Luz b2763358fe platform/surface: aggregator: Update copyright
It's 2021, update the copyright accordingly.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20210604134755.535590-4-luzmaximilian@gmail.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-06-16 17:47:53 +02:00
Maximilian Luz eb0e90a820 platform/surface: aggregator: Add dedicated bus and device type
The Surface Aggregator EC provides varying functionality, depending on
the Surface device. To manage this functionality, we use dedicated
client devices for each subsystem or virtual device of the EC. While
some of these clients are described as standard devices in ACPI and the
corresponding client drivers can be implemented as platform drivers in
the kernel (making use of the controller API already present), many
devices, especially on newer Surface models, cannot be found there.

To simplify management of these devices, we introduce a new bus and
client device type for the Surface Aggregator subsystem. The new device
type takes care of managing the controller reference, essentially
guaranteeing its validity for as long as the client device exists, thus
alleviating the need to manually establish device links for that purpose
in the client driver (as has to be done with the platform devices).

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20201221183959.1186143-7-luzmaximilian@gmail.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-01-07 00:06:39 +01:00