[PATCH] video: ARM CLCD: runtime check for Versatile

Arnd Bergmann arnd at arndb.de
Wed Feb 3 01:05:22 PST 2016


On Wednesday 03 February 2016 00:41:54 Russell King - ARM Linux wrote:
> On Tue, Feb 02, 2016 at 10:10:49PM +0100, Arnd Bergmann wrote:
> > On Tuesday 02 February 2016 21:47:39 Linus Walleij wrote:
> > >         } else {
> > > -#ifdef CONFIG_ARCH_VERSATILE
> > > -               fb->off_ienb = CLCD_PL111_IENB;
> > > -               fb->off_cntl = CLCD_PL111_CNTL;
> > > -#else
> > > -               fb->off_ienb = CLCD_PL110_IENB;
> > > -               fb->off_cntl = CLCD_PL110_CNTL;
> > > -#endif
> > > +               if (of_machine_is_compatible("arm,versatile-ab") ||
> > > +                   of_machine_is_compatible("arm,versatile-pb")) {
> > > +                       fb->off_ienb = CLCD_PL111_IENB;
> > > +                       fb->off_cntl = CLCD_PL111_CNTL;
> > > +               } else {
> > > +                       fb->off_ienb = CLCD_PL110_IENB;
> > > +                       fb->off_cntl = CLCD_PL110_CNTL;
> > > +               }
> > >         }
> > > 
> > 
> > Could that be done based on the AMBA device ID instead?
> 
> Unfortunately not.  It's a mistake made on one Versatile board
> which reverses the registers.  There's nothing to distinguish it
> in the primecell itself.

Ok, I see. It would be nice to have this knowledge locally in
the driver, e.g. through a special compatible string for the
variant on the versatile, or a bool property, but this way seems
good enough as we can be reasonably sure that nobody else made the
same mistake.

	Arnd



More information about the linux-arm-kernel mailing list