linux/drivers/staging/greybus
David Lin 9983ea6b76 greybus: svc: free pwrmon_rails memory upon exit
For every time SVC instance is created, memories for storing the rail IDs
are allocated, however, they are not freed when the SVC is destroyed.
This patch fixes the memory leak by freeing the memory when debugfs for
SVC is no longer needed.

Testing Done:
- Check pwrmon debugfs after turning on and off SVC

Signed-off-by: David Lin <dtwlin@google.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-04-25 11:13:59 -07:00
..
Documentation greybus: module: implement controlled module removal 2016-04-25 11:08:30 -07:00
scripts greybus: checkpatch.pl: Mark --no-tree as default option 2016-04-02 19:44:30 -07:00
tools greybus: loopback_test: handle SIGINT signal 2016-03-16 21:49:31 -07:00
.gitignore greybus: tools: Add tools directory to greybus repo and add loopback 2015-12-17 18:17:07 -08:00
LICENSE greybus: Initial commit 2014-08-11 15:29:23 +08:00
Makefile greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
README greybus: update README with info on how to build and contact me. 2014-08-11 15:44:51 +08:00
arche-apb-ctrl.c greybus: arche-ctrl: Don't expose driver internals to arche-platform driver 2016-04-23 09:37:21 +09:00
arche-platform.c greybus: arche-ctrl: Don't expose driver internals to arche-platform driver 2016-04-23 09:37:21 +09:00
arche_platform.h greybus: arche-ctrl: Don't expose driver internals to arche-platform driver 2016-04-23 09:37:21 +09:00
audio_apbridgea.c greybus: audio: Split start and stop APBridgeA requests 2016-03-01 22:44:49 -08:00
audio_apbridgea.h greybus: audio: Split start and stop APBridgeA requests 2016-03-01 22:44:49 -08:00
audio_codec.c greybus: audio: acquire wakelock during active playback 2016-04-25 10:09:45 -07:00
audio_codec.h greybus: audio: Update device type based on widget types 2016-04-05 09:39:22 -04:00
audio_gb.c greybus: audio: Fix sparse warnings 2016-02-02 21:26:32 -08:00
audio_manager.c greybus: audio_manager: add missing header 2016-02-03 10:38:54 -08:00
audio_manager.h greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager_module.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager_private.h greybus: audio: Add Audio Manager 2016-01-13 16:12:56 -08:00
audio_manager_sysfs.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_module.c greybus: audio: Update device type based on widget types 2016-04-05 09:39:22 -04:00
audio_topology.c greybus: audio: Update device type based on widget types 2016-04-05 09:39:22 -04:00
bootrom.c greybus: bootrom: fix typo 2016-04-21 11:43:35 +09:00
bootrom.h greybus: firmware: Rename to bootrom protocol 2016-04-04 21:19:06 -07:00
bundle.c greybus: core: defer connection creation to driver probe 2016-01-21 22:45:09 -08:00
bundle.h greybus: interface: clean up device-id handling 2016-03-30 14:23:19 -07:00
camera.c greybus: camera-gb: Remove hardcode for CSI TX number of lanes 2016-04-21 11:19:28 +09:00
connection.c greybus: interface: clean up ES3-bootroom-quirk handling 2016-03-30 14:17:40 -07:00
connection.h greybus: connection: add functions to get/set private data 2016-03-22 16:47:28 -04:00
control.c greybus: control: return error pointer when failing to create control device 2016-04-21 10:09:03 +09:00
control.h greybus: interface: move vendor and product strings to control device 2016-04-21 10:09:03 +09:00
core.c greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
debugfs.c greybus: core: add device prefix to error messages 2016-02-11 21:44:17 -08:00
devices greybus: devices: endpoint description of device 2014-09-13 17:31:27 -07:00
es2.c greybus: es2: move ap_disconnect() below ap_probe() 2016-04-21 16:11:15 +09:00
gb-camera.h greybus: camera-gb: Extend the configure streams interface 2016-04-11 18:47:57 -07:00
gpbridge.c greybus: manifest: reserve the Bridged PHY class 2016-03-03 13:52:10 -08:00
gpbridge.h greybus: gpbridge.h: move protocol init/exit prototypes 2016-03-03 13:52:02 -08:00
gpio.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
greybus.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
greybus_id.h greybus: fix vendor and product matching 2015-11-21 17:15:35 -08:00
greybus_manifest.h greybus: firmware: Rename to bootrom protocol 2016-04-04 21:19:06 -07:00
greybus_protocols.h greybus: svc: implement interface mailbox event 2016-04-25 11:08:30 -07:00
greybus_trace.h greybus: greybus_trace: Fix broken greybus ftrace 2016-03-22 00:31:31 -04:00
hd.c greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
hd.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
hid.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
i2c.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
interface.c greybus: interface: implement interface activation and power down 2016-04-25 11:08:30 -07:00
interface.h greybus: interface: add active state flag 2016-04-25 11:08:30 -07:00
kernel_ver.h greybus: power_supply: reverse version check for new psy API 2016-03-16 21:49:31 -07:00
legacy.c greybus: power_supply: convert to bundle driver 2016-02-15 14:53:43 -08:00
legacy.h greybus: legacy: add legacy-protocol bundle driver 2016-01-19 12:12:40 -08:00
light.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
loopback.c greybus: Ensure gb->mutex is held when adding timer 2016-03-16 21:49:31 -07:00
manifest.c greybus: interface: move vendor and product strings to control device 2016-04-21 10:09:03 +09:00
manifest.h greybus: manifest: Use interface descriptor instead of module descriptor to get information 2015-04-06 12:05:58 +02:00
module.c greybus: module: implement controlled module removal 2016-04-25 11:08:30 -07:00
module.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
operation.c greybus: operation: add support for short responses 2016-02-25 16:26:58 -08:00
operation.h greybus: operation: add support for short responses 2016-02-25 16:26:58 -08:00
power_supply.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
protocol.c greybus: connection: move legacy-protocol handling to legacy driver 2016-01-19 12:17:13 -08:00
protocol.h greybus: gpbridge.h: move protocol init/exit prototypes 2016-03-03 13:52:02 -08:00
pwm.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
raw.c greybus: raw: use hexadecimal notation for request types 2016-03-03 10:02:48 -08:00
sdio.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
spi.c greybus: spi: use timeout request send operation 2016-04-21 08:34:00 +09:00
svc.c greybus: svc: free pwrmon_rails memory upon exit 2016-04-25 11:13:59 -07:00
svc.h greybus: svc: clean up gb_svc struct for pwrmon 2016-04-25 11:13:59 -07:00
svc_watchdog.c greybus: svc watchdog: Disable watchdog upon entering suspend 2016-04-15 14:42:53 -07:00
uart.c greybus: uart: Update line coding settings only when needed 2016-04-21 10:33:47 +09:00
usb.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
vibrator.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00

README

Greybus kernel code

To build against the running kernel (odds are you don't want this):
	make

To build against a specific kernel source tree (odds are you want this):
	KERNELDIR=/home/some/random/place make

Any questions / concerns about this code base, please email:
	Greg Kroah-Hartman <greg@kroah.com>