Re: [PATCH v2 2/5] input: pmic8xxx-pwrkey: Add support for pm8018 pwrkey

From: Dmitry Torokhov
Date: Sat Jun 25 2016 - 11:53:58 EST


On Sat, Jun 25, 2016 at 10:34:04AM +0200, Neil Armstrong wrote:
> On 06/25/2016 12:07 AM, Dmitry Torokhov wrote:
> > On Fri, Jun 24, 2016 at 11:18:04AM +0200, Neil Armstrong wrote:
> >> In order to support pwrkey for Qualcomm MDM9615 SoC, add support
> >> for the pm8018 pwrkey in pmic8xxx-pwrkey.
> >>
> >> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> >> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
> >
> > NAK.
>
> Hi Dmitry,
>
> Actually, the new compatible string make sense, because the driver is compatible with the
> "pm8018" pwrkey but from a system point of view, it's not a pm8921 pwrkey, hence the new
> compatible string.

A lot of systems note this fact in DTS, but not require driver changes,
by specifying several compatible strings:

compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
compatible = "rockchip,rk3036-timer", "rockchip,rk3288-timer";

>
> Rob Herring was very clear with me with this policy, and it will simplify further driver

Could I get a pointer to this discussion so I can educate myself better
about DT policies?

> architecture change since it will not imply devicetree changes anymore.

Would we need the driver changes? What are the differences in power key
functionality between 8018 and 8921?

>
> My point of view is that the devicetree describes the hardware and need to have SoC specific
> compatible string since it describes the actual silicon, and drivers must make sure to handle
> all the SoC or family variants using the compatible string and the match data.

No, the compatible string means that the hardware is *compatible* with
something. It does not mean that we need to adjust driver every time a
company pumps out a new package including said hardware.

Thanks.

--
Dmitry