Re: [PATCH v2] media: st-rc: Add ST remote control driver
From: Srinivas KANDAGATLA <hidden>
Date: 2013-08-29 11:29:00
Also in:
linux-media
On 29/08/13 10:11, Sean Young wrote:
On Wed, Aug 28, 2013 at 04:33:50PM +0100, Srinivas KANDAGATLA wrote:quoted
From: Srinivas Kandagatla <redacted> This patch adds support to ST RC driver, which is basically a IR/UHF receiver and transmitter. This IP (IRB) is common across all the ST parts for settop box platforms. IRB is embedded in ST COMMS IP block. It supports both Rx & Tx functionality. In this driver adds only Rx functionality via LIRC codec. Signed-off-by: Srinivas Kandagatla <redacted> --- Hi Chehab, This is a very simple rc driver for IRB controller found in STi ARM CA9 SOCs. STi ARM SOC support went in 3.11 recently. This driver is a raw driver which feeds data to lirc codec for the user lircd to decode the keys. This patch is based on git://linuxtv.org/media_tree.git master branch. Changes since v1: - Device tree bindings cleaned up as suggested by Mark and Pawel - use ir_raw_event_reset under overflow conditions as suggested by Sean. - call ir_raw_event_handle in interrupt handler as suggested by Sean. - correct allowed_protos flag with RC_BIT_ types as suggested by Sean. - timeout and rx resolution added as suggested by Sean.Acked-by: Sean Young <sean@mess.org>
Thankyou Sean for the Ack.
Note minor nitpicks below.quoted
Thanks, srini Documentation/devicetree/bindings/media/st-rc.txt | 24 ++ drivers/media/rc/Kconfig | 10 + drivers/media/rc/Makefile | 1 + drivers/media/rc/st_rc.c | 392 +++++++++++++++++++++ 4 files changed, 427 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/st-rc.txt create mode 100644 drivers/media/rc/st_rc.c
quoted
diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig index 11e84bc..bf301ed 100644 --- a/drivers/media/rc/Kconfig +++ b/drivers/media/rc/Kconfig@@ -322,4 +322,14 @@ config IR_GPIO_CIR To compile this driver as a module, choose M here: the module will be called gpio-ir-recv. +config RC_ST + tristate "ST remote control receiver" + depends on ARCH_STI && LIRC && OFMinor nitpick, this should not depend on LIRC, it depends on RC_CORE.
Yes, I will make it depend on RC_CORE, remove OF as suggested by Mauro CC and select LIRC to something like. depends on ARCH_STI && RC_CORE select LIRC
quoted
+static int st_rc_probe(struct platform_device *pdev) +{ + int ret = -EINVAL; + struct rc_dev *rdev; + struct device *dev = &pdev->dev; + struct resource *res; + struct st_rc_device *rc_dev; + struct device_node *np = pdev->dev.of_node; + const char *rx_mode; + + rc_dev = devm_kzalloc(dev, sizeof(struct st_rc_device), GFP_KERNEL); + rdev = rc_allocate_device(); + + if (!rc_dev || !rdev) + return -ENOMEM;If one fails and the other succeeds you have a leak.
Yes... I will fix it in v3.
quoted
+ + if (np && !of_property_read_string(np, "rx-mode", &rx_mode)) { +
[...]
quoted
+static SIMPLE_DEV_PM_OPS(st_rc_pm_ops, st_rc_suspend, st_rc_resume); +#endif + +#ifdef CONFIG_OFSince this depends on OF it will always be defined.
Removed OF dependency in Kconfig.
quoted
+module_platform_driver(st_rc_driver); + +MODULE_DESCRIPTION("RC Transceiver driver for STMicroelectronics platforms"); +MODULE_AUTHOR("STMicroelectronics (R&D) Ltd"); +MODULE_LICENSE("GPL"); -- 1.7.6.5