mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-03 17:40:04 +00:00
[media] ir-hix5hd2: make hisilicon,power-syscon property deprecated
The clock of IR can be provided by the clock provider and controlled by common clock framework APIs. Signed-off-by: Ruqiang Ju <juruqiang@huawei.com> Signed-off-by: Jiancheng Xue <xuejiancheng@hisilicon.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
69ace6ee3e
commit
414e72c729
2 changed files with 19 additions and 12 deletions
|
@ -8,10 +8,11 @@ Required properties:
|
|||
the device. The interrupt specifier format depends on the interrupt
|
||||
controller parent.
|
||||
- clocks: clock phandle and specifier pair.
|
||||
- hisilicon,power-syscon: phandle of syscon used to control power.
|
||||
|
||||
Optional properties:
|
||||
- linux,rc-map-name : Remote control map name.
|
||||
- hisilicon,power-syscon: DEPRECATED. Don't use this in new dts files.
|
||||
Provide correct clocks instead.
|
||||
|
||||
Example node:
|
||||
|
||||
|
@ -19,7 +20,6 @@ Example node:
|
|||
compatible = "hisilicon,hix5hd2-ir";
|
||||
reg = <0xf8001000 0x1000>;
|
||||
interrupts = <0 47 4>;
|
||||
clocks = <&clock HIX5HD2_FIXED_24M>;
|
||||
hisilicon,power-syscon = <&sysctrl>;
|
||||
clocks = <&clock HIX5HD2_IR_CLOCK>;
|
||||
linux,rc-map-name = "rc-tivo";
|
||||
};
|
||||
|
|
|
@ -75,15 +75,22 @@ static void hix5hd2_ir_enable(struct hix5hd2_ir_priv *dev, bool on)
|
|||
{
|
||||
u32 val;
|
||||
|
||||
regmap_read(dev->regmap, IR_CLK, &val);
|
||||
if (on) {
|
||||
val &= ~IR_CLK_RESET;
|
||||
val |= IR_CLK_ENABLE;
|
||||
if (dev->regmap) {
|
||||
regmap_read(dev->regmap, IR_CLK, &val);
|
||||
if (on) {
|
||||
val &= ~IR_CLK_RESET;
|
||||
val |= IR_CLK_ENABLE;
|
||||
} else {
|
||||
val &= ~IR_CLK_ENABLE;
|
||||
val |= IR_CLK_RESET;
|
||||
}
|
||||
regmap_write(dev->regmap, IR_CLK, val);
|
||||
} else {
|
||||
val &= ~IR_CLK_ENABLE;
|
||||
val |= IR_CLK_RESET;
|
||||
if (on)
|
||||
clk_prepare_enable(dev->clock);
|
||||
else
|
||||
clk_disable_unprepare(dev->clock);
|
||||
}
|
||||
regmap_write(dev->regmap, IR_CLK, val);
|
||||
}
|
||||
|
||||
static int hix5hd2_ir_config(struct hix5hd2_ir_priv *priv)
|
||||
|
@ -207,8 +214,8 @@ static int hix5hd2_ir_probe(struct platform_device *pdev)
|
|||
priv->regmap = syscon_regmap_lookup_by_phandle(node,
|
||||
"hisilicon,power-syscon");
|
||||
if (IS_ERR(priv->regmap)) {
|
||||
dev_err(dev, "no power-reg\n");
|
||||
return -EINVAL;
|
||||
dev_info(dev, "no power-reg\n");
|
||||
priv->regmap = NULL;
|
||||
}
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
|
|
Loading…
Reference in a new issue