lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150218115853.GB22296@x1>
Date:	Wed, 18 Feb 2015 11:58:53 +0000
From:	Lee Jones <lee.jones@...aro.org>
To:	Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>
Cc:	Antoine Tenart <antoine.tenart@...e-electrons.com>,
	sameo@...ux.intel.com, jszhang@...vell.com, zmxu@...vell.com,
	linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
	arnd@...db.de
Subject: Re: [PATCH 01/11] mfd: add the Berlin controller driver

On Wed, 18 Feb 2015, Sebastian Hesselbarth wrote:

> On 18.02.2015 11:40, Lee Jones wrote:
> >On Wed, 18 Feb 2015, Antoine Tenart wrote:
> [...]
> >>chip: chip-controller@...000 {
> >>         compatible = "marvell,berlin2q-chip-ctrl", "syscon";
> >>         reg = <0xea0000 0x400>, <0xdd0170 0x10>;
> >>         #clock-cells = <1>;
> >>         clocks = <&refclk>;
> >>         clock-names = "refclk";
> >>
> >>         soc_pinctrl: pin-controller {
> >>                 compatible = "marvell,berlin2q-soc-pinctrl";
> >>
> >>                 twsi0_pmux: twsi0-pmux {
> >>                         groups = "G6";
> >>                         function = "twsi0";
> >>                 };
> >>
> >>                 twsi1_pmux: twsi1-pmux {
> >>                         groups = "G7";
> >>                         function = "twsi1";
> >>                 };
> >>         };
> >>
> >>         chip_rst: reset {
> >>                 compatible = "marvell,berlin2-reset";
> >>                 #reset-cells = <2>;
> >>         };
> >>};
> >
> >This is what I'd expect to see in DT, so we're heading in the right
> >direction.  So make to my original question, what's the point of this
> >MFD driver, and why don't you just let DT framework register these
> >devices for you?
> >
> >You issue a compatible string here, then duplicate it in the driver,
> >why do you think this is necessary?
> 
> there is no DT framework that automatically probes for
> compatible<->driver matches. You either make it "simple-bus" compatible
> which will call of_foo_populate() or you have to register each of the
> devices yourself. It clearly is not a bus, so if we use this as a
> workaround, we'll get yelled at by others.

I do agree that using 'simple-bus' to describe only this IP would be
an abuse.  However, my foundation thought/argument is unchanged.  This
'driver' is a hack.  It has no functional use besides to work around a
problem of semantics and as such has no place in MFD.

Back onto the simple-bus theme, as this is a syscon device it is a bus
of sorts.  Have you thought about making it a child of your its syscon
node, then using simple-bus to get the OF framework to register the
child devices?

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ