summaryrefslogtreecommitdiffstats
path: root/drivers/media/rc/img-ir/img-ir.h
diff options
context:
space:
mode:
authorSifan Naeem <sifan.naeem@imgtec.com>2015-02-04 17:48:14 +0100
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-04-08 12:55:48 +0200
commitcc4e8c3dc95369c08615a4151bce8506b00356d9 (patch)
tree3598bea9e7a1604142165c8b407f118fb0b36a8b /drivers/media/rc/img-ir/img-ir.h
parent[media] DVB: Less function calls in dvb_ca_en50221_init() after error detection (diff)
downloadlinux-cc4e8c3dc95369c08615a4151bce8506b00356d9.tar.xz
linux-cc4e8c3dc95369c08615a4151bce8506b00356d9.zip
[media] rc: img-ir: Add and enable sys clock for img-ir
Gets a handle to the system clock, already described in the binding document, and calls the appropriate common clock framework functions to mark it prepared/enabled, the common clock framework initially enables the clock and doesn't disable it at least until the device/driver is removed. It's important the systen clock is enabled before register interface is accessed by the driver. The system clock to IR is needed for the driver to communicate with the IR hardware via MMIO accesses on the system bus, so it must not be disabled during use or the driver will malfunction. Signed-off-by: Sifan Naeem <sifan.naeem@imgtec.com> Acked-by: James Hogan <james.hogan@imgtec.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/rc/img-ir/img-ir.h')
-rw-r--r--drivers/media/rc/img-ir/img-ir.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/rc/img-ir/img-ir.h b/drivers/media/rc/img-ir/img-ir.h
index 2ddf56083182..f1387c016d3d 100644
--- a/drivers/media/rc/img-ir/img-ir.h
+++ b/drivers/media/rc/img-ir/img-ir.h
@@ -138,6 +138,7 @@ struct clk;
* @dev: Platform device.
* @irq: IRQ number.
* @clk: Input clock.
+ * @sys_clk: System clock.
* @reg_base: Iomem base address of IR register block.
* @lock: Protects IR registers and variables in this struct.
* @raw: Driver data for raw decoder.
@@ -147,6 +148,7 @@ struct img_ir_priv {
struct device *dev;
int irq;
struct clk *clk;
+ struct clk *sys_clk;
void __iomem *reg_base;
spinlock_t lock;