Re: [PATCH 0/3] Renesas RZ PFC and GPIO driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chris,

On Monday 09 Jan 2017 23:53:39 Chris Brandt wrote:
> On Monday, January 09, 2017, Laurent Pinchart wrote:
> > Both the existing RZ/A model and the pinctrl model are in my opinion
> > improvements over the RZ/G and R-Car models. I don't care much about
> > whether pinctrl-single can be used, but we really need hardware
> > architectures that don't require those huge data tables.
> 
> I can definitely agree to that.
> 
> > It's more complex than that. Both the pin-based and group-based models
> > have their pros and cons, and the pinctrl API is some kind of mix that
> > allows both options.
> 
> Here is my general question: Which of these 2 approaches are better?
> 
> A) In the DT, the user ask "enable Ethernet please" and magic happens in
>    the pfc driver.
> 
> B) In the DT, the user looks up the correct pin/function assignments in
>    the SoC Hardware Manual and manually spells out what they need.
> 
> R-Car looks more like A. I've been using a driver that looks more like B.
> 
> For most drivers (USB, MMC, SDHI, etc..,), I'm happy when 'magic happens'
> and I don't really have to open a HW manual at all.
> But, for something like setting up the PFC when someone gets a shiny new
> board, making people actually open a HW manual seems acceptable to me.

>From a user point of view, option A looks better to me. However, it has two 
drawbacks:

- Through deciding what pin groups we make available we create a DT ABI that 
will make it difficult to fix mistakes in case the groups are not fine-grained 
enough.

- The data tables in C code are large, and we end up compiling many of them in 
multi-platform kernel, significantly increasing the kernel size.

I would thus favour option B.

-- 
Regards,

Laurent Pinchart




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux