[PATCH v2] pinctrl: Add pinctrl-s3c24xx driver
Tomasz Figa
t.figa at samsung.com
Thu Apr 11 05:43:19 EDT 2013
On Thursday 11 of April 2013 11:32:03 Heiko Stübner wrote:
> Am Donnerstag, 11. April 2013, 10:54:45 schrieb Tomasz Figa:
> > Hi Heiko,
> >
> > As previously, generally looks good to me, but see my comments inline.
> >
> > On Thursday 11 of April 2013 01:16:41 Heiko Stübner wrote:
> > > The s3c24xx pins follow a similar pattern as the other Samsung SoCs and
> > > can therefore reuse the already introduced infrastructure.
> > >
> > > The s3c24xx SoCs have one design oddity in that the first 4 external
> > > interrupts do not reside in the eint pending register but in the main
> > > interrupt controller instead. We solve this by forwarding the external
> > > interrupt from the main controller into the irq domain of the pin bank.
> > > The masking/acking of these interrupts is handled in the same way.
> > >
> > > Furthermore the S3C2412/2413 SoCs contain another oddity in that they
> > > keep the same 4 eints in the main interrupt controller and eintpend
> > > register and requiring ack operations to happen in both. To solve this
> > > a ctrl_type enum is introduced which can keep the type of controller
> >
> > Hmm, I think you forgot to edit the commit message, since we decided to
> > replace ctrl_type with another compatible string.
>
> One should not do these things after midnight :-) [true for most of the
> other mistakes below too].
>
> > > in the samsung_pin_ctrl struct for later retrieval.
> > >
> > > The ctrl_type enum contains only S3C24XX and S3C2412 types, as the
> > > eint-speciality is currently the only use-case. But it can be expaned
> > > if other SoCs gain special handling requirements later on.
> > >
> > > Signed-off-by: Heiko Stuebner <heiko at sntech.de>
> > > ---
> > > changes since v1:
> > >
> > > - address comments from Tomasz Figa:
> > > * split handling functions for eints 0-3 for s3c2412 and all others
> > > * change the handling for s3c2412 eints 0-3 in that they now use
> > >
> > > chained_irq_* for the outer parent interrupt
> >
> > OK, so you finally decided to use the way I suggested. Have you managed to
> > do some testing on a S3C2412?
>
> Nope, after pondering everything a bit more ... your description just
> sounded more plausible :-) . I only have access to s3c2416 and s3c2450
> boards, so everything else is just done according to datasheets and in the
> hope of it being correct. S3C2412 is really the only familiy member having
> the 4 eints in both registers.
>
> Also the (reworked) legacy eint code also uses this scheme ... so at least
> now both are either correct or wrong. We will only know if someone with a
> s3c2412 comes along at some point :-) .
That's why I was wondering whether it is possible to get a board with S3C2412
or 13 somewhere. The Logitech controller would be pretty interesting, but is
it still possible to get it? (Btw. Is it mach-jive in the kernel?)
Best regards,
--
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework
More information about the linux-arm-kernel
mailing list