Commit Graph

15 Commits

Author SHA1 Message Date
Mark Langsdorf 0753f4dc47 driver core: make struct bus_type.uevent() take a const *
JIRA: https://issues.redhat.com/browse/RHEL-1023
Conflicts:
	drivers/gpu/drm/drm_mipi_dsi.c - minor context
differences
	drivers/platform/x86/wmi.c - had to insert a const
in device_to_wblock()
	include/linux/hyperv.h - had to insert a const
in device_to_hv_device()
Omitted-fix: a69ea7a76d52353b17d7bedf43818c2578517e9e
	centos-9 doesn't support SuperH devices, so this
fix for the maple sub-componet of a SuperH isn't
necessary

commit 2a81ada32f0e584fc0c943e0d3a8c9f4fae411d6
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Fri, 27 Jan 2023 13:45:52 +0000

The uevent() callback in struct bus_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.

Acked-by: Rafael J. Wysocki <rafael@kernel.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230111113018.459199-16-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
Uwe Kleine-König 609cf09c56 ipack: Handle a driver without remove callback
A driver that only consumes devm-managed resources might well have no
remove callback. Additionally given that the device core ignores the return
value of ipack_bus_remove() stop returning an error code.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Acked-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Link: https://lore.kernel.org/r/20210207215556.96371-2-uwe@kleine-koenig.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-02-09 09:48:23 +01:00
Uwe Kleine-König c31d32ba58 ipack: Fail earlier for drivers without probe function
A driver without a probe function isn't useful as it can never be used.
Let registering such a driver fail already instead of failing every
binding.

This is only cosmetic as there is no ipack driver without a probe function.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Acked-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Link: https://lore.kernel.org/r/20210207215556.96371-1-uwe@kleine-koenig.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-02-09 09:48:12 +01:00
Thomas Gleixner b886d83c5b treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation version 2 of the license

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 315 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Armijn Hemel <armijn@tjaldur.nl>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190531190115.503150771@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-05 17:37:17 +02:00
Markus Elfring ff35eb23de ipack: Improve a size determination in ipack_bus_register()
Replace the specification of a data structure by a pointer dereference
as the parameter for the operator "sizeof" to make the corresponding size
determination a bit safer according to the Linux coding style convention.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Acked-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-18 16:59:06 +02:00
Markus Elfring df2aa81a44 ipack: Delete an error message for a failed memory allocation in ipack_device_read_id()
Omit an extra message for a memory allocation failure in this function.

This issue was detected by using the Coccinelle software.

Link: http://events.linuxfoundation.org/sites/events/files/slides/LCJ16-Refactor_Strings-WSang_0.pdf
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Acked-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-18 16:59:06 +02:00
Uwe Kleine-König 9105585d13 ipack: print a hex number after a 0x prefix
It makes the result hard to interpret correctly if a base 10 number is
prefixed by 0x.  So change to a hex number.

Link: http://lkml.kernel.org/r/20161026125658.25728-4-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Cc: Jens Taprogge <jens.taprogge@taprogge.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-10-27 18:43:43 -07:00
Federico Vaga 36c53b3cc3 ipack: save carrier owner to allow device to get it
There was not any kind of protection against carrier driver removal.
In this way, device driver can 'get' the carrier driver when it is
using it.

Signed-off-by: Federico Vaga <federico.vaga@cern.ch>
Acked-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 23:13:13 -07:00
Greg Kroah-Hartman 5152a5098c ipack: convert bus code to use dev_groups
The dev_attrs field of struct bus_type is going away soon, dev_groups
should be used instead.  This converts the ipack bus code to use the
correct field.

Acked-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Cc: Jens Taprogge <jens.taprogge@taprogge.org>
Cc: <industrypack-devel@lists.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 18:40:57 -07:00
Samuel Iglesias Gonsalvez e926301b39 ipack: split ipack_device_register() in several functions
One function is ipack_device_init(). If it fails, the caller should execute
ipack_put_device().

The second function is ipack_device_add that only adds the device. If
it fails, the caller should execute ipack_put_device().

Then the device is removed with refcount = 0, as device_register() kernel
documentation says.

ipack_device_del() is added to remove the device.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:23:09 -07:00
Samuel Iglesias Gonsalvez fa882867ae ipack: add ipack_get_device() ipack_put_device()
Prepare everything for later use.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 12:23:09 -07:00
Samuel Iglesias Gonsalvez 27cf2d1b87 ipack: remove ipack_ids.h file
Its contents are merged into ipack.h. So this file is not needed.

Doing that, it simplifies the ipack-related driver development.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-16 11:29:35 -08:00
Samuel Iglesias Gonsalvez 7dbce021a6 ipack: move header files to include/linux
Move ipack header files to include/linux/ directory where they belong.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-16 11:29:35 -08:00
Greg Kroah-Hartman 05e5027efc Staging: ipack: move out of staging
The ipack subsystem is cleaned up enough to now move out of the staging
tree, and into drivers/ipack.

Cc: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Cc: Jens Taprogge <jens.taprogge@taprogge.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-16 08:14:18 -08:00