WSL2-Linux-Kernel/drivers/staging/nvec
Uwe Kleine-König cedff4e3e2 staging: nvec_ps2: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20230403154014.2564054-22-u.kleine-koenig@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-04-03 21:49:55 +02:00
..
Kconfig
Makefile
README
TODO
nvec-keytable.h
nvec.c staging: nvec: Convert to platform remove callback returning void 2023-04-03 21:49:54 +02:00
nvec.h
nvec_kbd.c staging: nvec: nvec_kbd: Convert to platform remove callback returning void 2023-04-03 21:49:54 +02:00
nvec_paz00.c Staging: nvec: Remove macro definition to_nvec_led 2023-03-22 10:19:25 +01:00
nvec_power.c staging: nvec_power: Convert to platform remove callback returning void 2023-04-03 21:49:55 +02:00
nvec_ps2.c staging: nvec_ps2: Convert to platform remove callback returning void 2023-04-03 21:49:55 +02:00

README

NVEC: An NVidia compliant Embedded Controller Protocol Implementation

This is an implementation of the NVEC protocol used to communicate with an
embedded controller (EC) via I2C bus. The EC is an I2C master while the host
processor is the I2C slave. Requests from the host processor to the EC are
started by triggering a gpio line.

There is no written documentation of the protocol available to the public,
but the source code[1] of the published nvec reference drivers can be a guide.
This driver is currently only used by the AC100 project[2], but it is likely,
that other Tegra boards (not yet mainlined, if ever) also use it.

[1] e.g. https://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=tree;f=arch/arm/mach-tegra/nvec;hb=android-tegra-2.6.32
[2] http://gitorious.org/ac100, http://launchpad.net/ac100