[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