summaryrefslogtreecommitdiff
path: root/drivers/media/rc/st_rc.c
AgeCommit message (Collapse)Author
2015-11-19[media] media: st-rc: remove misuse of IRQF_NO_SUSPEND flagSudeep Holla
The device is set as wakeup capable using proper wakeup API but the driver misuses IRQF_NO_SUSPEND to set the interrupt as wakeup source which is incorrect. This patch removes the use of IRQF_NO_SUSPEND flags replacing it with enable_irq_wake instead. Cc: Srinivas Kandagatla <srinivas.kandagatla@gmail.com> Cc: Maxime Coquelin <maxime.coquelin@st.com> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: linux-arm-kernel@lists.infradead.org Cc: kernel@stlinux.com Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-06-24[media] use CONFIG_PM_SLEEP for suspend/resumeMauro Carvalho Chehab
Using CONFIG_PM_SLEEP suppress the warnings when the driver is compiled without PM sleep functions: drivers/media/rc/st_rc.c:338:12: warning: ‘st_rc_suspend’ defined but not used [-Wunused-function] drivers/media/rc/st_rc.c:359:12: warning: ‘st_rc_resume’ defined but not used [-Wunused-function] Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
2015-05-13[media] st_rc: fix build warningFabio Estevam
Building for avr32 leads the following build warning: drivers/media/rc/st_rc.c:270: warning: passing argument 1 of 'IS_ERR' discards qualifiers from pointer target type drivers/media/rc/st_rc.c:271: warning: passing argument 1 of 'PTR_ERR' discards qualifiers from pointer target type devm_ioremap_resource() returns void __iomem *, so change 'base' and 'rx_base' definitions accordingly. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-05-12[media] constify of_device_id arrayFabian Frederick
of_device_id is always used as const. (See driver.of_match_table and open firmware functions) [mchehab@osg.samsung.com: fix a merge conflict at adv7604.c] Signed-off-by: Fabian Frederick <fabf@skynet.be> Acked-by: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] st_rc: fix address space castingMauro Carvalho Chehab
drivers/media/rc/st_rc.c:107:38: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:107:38: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:107:38: got void * drivers/media/rc/st_rc.c:110:53: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:110:53: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:110:53: got void * drivers/media/rc/st_rc.c:116:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:116:54: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:116:54: got void * drivers/media/rc/st_rc.c:120:45: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:120:45: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:120:45: got void * drivers/media/rc/st_rc.c:121:43: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:121:43: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:121:43: got void * drivers/media/rc/st_rc.c:150:46: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:150:46: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:150:46: got void * drivers/media/rc/st_rc.c:153:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:153:42: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:153:42: got void * drivers/media/rc/st_rc.c:174:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:174:32: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:174:32: got void * drivers/media/rc/st_rc.c:177:48: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:177:48: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:177:48: got void * drivers/media/rc/st_rc.c:187:48: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:187:48: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:187:48: got void * drivers/media/rc/st_rc.c:204:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:204:42: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:204:42: got void * drivers/media/rc/st_rc.c:205:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:205:35: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:205:35: got void * drivers/media/rc/st_rc.c:215:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:215:35: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:215:35: got void * drivers/media/rc/st_rc.c:216:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:216:35: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:216:35: got void * drivers/media/rc/st_rc.c:269:22: warning: incorrect type in assignment (different address spaces) drivers/media/rc/st_rc.c:269:22: expected void *base drivers/media/rc/st_rc.c:269:22: got void [noderef] <asn:2>* drivers/media/rc/st_rc.c:349:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:349:46: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:349:46: got void * drivers/media/rc/st_rc.c:350:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:350:46: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:350:46: got void * drivers/media/rc/st_rc.c:371:61: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:371:61: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:371:61: got void * drivers/media/rc/st_rc.c:372:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:372:54: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:372:54: got void * Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23[media] media: st-rc: Remove .owner field for driverSrinivas Kandagatla
There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@linaro.org> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Acked-by: Maxime Coquelin <maxime.coquelin@st.com> Acked-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23[media] media: st-rc: move pm ops setup out of conditional compilationSrinivas Kandagatla
This patch moves setting of pm_ops out of the CONFIG_PM_SLEEP condition. Setting pm ops under CONFIG_PM_SLEEP does not make any sense. This patch also remove unnecessary also remove CONFIG_PM condition for pm member in st_rc_driver structure. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Acked-by: Maxime Coquelin <maxime.coquelin@st.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23[media] media: st-rc: move to using reset_control_get_optionalSrinivas Kandagatla
This patch fixes a compilation error while building with the random kernel configuration. drivers/media/rc/st_rc.c: In function 'st_rc_probe': drivers/media/rc/st_rc.c:281:2: error: implicit declaration of function 'reset_control_get' [-Werror=implicit-function-declaration] rc_dev->rstc = reset_control_get(dev, NULL); drivers/media/rc/st_rc.c:281:15: warning: assignment makes pointer from integer without a cast [enabled by default] rc_dev->rstc = reset_control_get(dev, NULL); Reported-by: Jim Davis <jim.epost@gmail.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Acked-by: Maxime Coquelin <maxime.coquelin@st.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-07-25[media] rc-core: remove protocol arraysDavid Härdeman
The basic API of rc-core used to be: dev = rc_allocate_device(); dev->x = a; dev->y = b; dev->z = c; rc_register_device(); which is a pretty common pattern in the kernel, after the introduction of protocol arrays the API looks something like: dev = rc_allocate_device(); dev->x = a; rc_set_allowed_protocols(dev, RC_BIT_X); dev->z = c; rc_register_device(); There's no real need for the protocols to be an array, so change it back to be consistent (and in preparation for the following patches). [m.chehab@samsung.com: added missing changes at some files] Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-03-11[media] rc: abstract access to allowed/enabled protocolsJames Hogan
The allowed and enabled protocol masks need to be expanded to be per filter type in order to support wakeup filter protocol selection. To ease that process abstract access to the rc_dev::allowed_protos and rc_dev::enabled_protocols members with inline functions. Signed-off-by: James Hogan <james.hogan@imgtec.com> Reviewed-by: Antti Seppälä <a.seppala@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-01-15[media] media: st-rc: Add reset supportSrinivas Kandagatla
Some of the SOCs hold the IRB IP in softreset state by default. For this IP to work driver needs to bring it out of softreset. This patch adds support to reset the IP via reset framework. Without this patch the driver can not work with SoCs which holds the IP in softreset. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-10-31[media] media: st-rc: Add ST remote control driverSrinivas Kandagatla
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. This driver adds only Rx functionality via LIRC codec. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com> Acked-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>