Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 414e72c7 authored by Ruqiang Ju's avatar Ruqiang Ju Committed by Mauro Carvalho Chehab
Browse files

[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: default avatarRuqiang Ju <juruqiang@huawei.com>
Signed-off-by: default avatarJiancheng Xue <xuejiancheng@hisilicon.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 69ace6ee
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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";
	};
+16 −9
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@ static void hix5hd2_ir_enable(struct hix5hd2_ir_priv *dev, bool on)
{
	u32 val;

	if (dev->regmap) {
		regmap_read(dev->regmap, IR_CLK, &val);
		if (on) {
			val &= ~IR_CLK_RESET;
@@ -84,6 +85,12 @@ static void hix5hd2_ir_enable(struct hix5hd2_ir_priv *dev, bool on)
			val |= IR_CLK_RESET;
		}
		regmap_write(dev->regmap, IR_CLK, val);
	} else {
		if (on)
			clk_prepare_enable(dev->clock);
		else
			clk_disable_unprepare(dev->clock);
	}
}

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);