Devicetree
 help / color / mirror / Atom feed
* DT version of kirkwood_ge0x_init()
@ 2013-06-04 10:18 Gerlando Falauto
       [not found] ` <51ADBEE0.5040500-SkAbAL50j+5BDgjK7y7TUQ@public.gmane.org>
  0 siblings, 1 reply; 14+ messages in thread
From: Gerlando Falauto @ 2013-06-04 10:18 UTC (permalink / raw)
  To: linux-arm-kernel@lists.infradead.org
  Cc: Andrew Lunn, Jason Cooper, Longchamp, Valentin,
	devicetree-discuss, Brunck, Holger, Simon Guinot

Hi everyone,

I noticed how most of the DT-aware board-setup files only have a single
<board>_init() function, calling kirkwood_ge00_init() with a struct 
mv643xx_eth_platform_data as a single argument.

I was wondering -- is there a reason why we cannot remove all this 
board-specific code and move all this to the DT?

I noticed how NS2 can somehow trick this value depeding on the 
compatible string, so I assume it's not really *THAT* early, as the 
whole DT infrastructure is already available:

	if (of_machine_is_compatible("lacie,cloudbox") ||
	    of_machine_is_compatible("lacie,netspace_lite_v2") ||
	    of_machine_is_compatible("lacie,netspace_mini_v2"))
		ns2_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0);
	kirkwood_ge00_init(&ns2_ge00_data);

I guess we could remove a lot of board-specific code if we could move 
this last bit of information to the DT.
Unless compatibility with existing DTs is an issue -- but what about new 
boards?

I would really love to have all our boards under a single 
CONFIG_<FAMILY>_DT and a single compatible string, with all the 
differences within the DTs itself -- no more #ifdef CONFIG_<BOARD>, no 
more of_machine_is_compatible("boardXXX").

Any feedback (swearwords included -- in case I'm talking non-sense) 
would be more than welcome.

Thank you!
Gerlando

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2013-06-05 13:23 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-04 10:18 DT version of kirkwood_ge0x_init() Gerlando Falauto
     [not found] ` <51ADBEE0.5040500-SkAbAL50j+5BDgjK7y7TUQ@public.gmane.org>
2013-06-04 10:34   ` Sebastian Hesselbarth
     [not found]     ` <51ADC2C2.6010106-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-04 10:43       ` Jason Cooper
2013-06-04 11:59         ` Simon Guinot
     [not found]           ` <20130604115927.GJ7626-tZfvYpCFA3RN6yImKYG91Q@public.gmane.org>
2013-06-04 12:05             ` Jason Cooper
2013-06-04 12:18               ` Simon Guinot
     [not found]               ` <20130604120500.GZ3803-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org>
2013-06-04 13:10                 ` Jason Cooper
2013-06-04 20:53     ` Gerlando Falauto
     [not found]       ` <51AE53D4.5070208-SkAbAL50j+5BDgjK7y7TUQ@public.gmane.org>
2013-06-05  9:04         ` Sebastian Hesselbarth
2013-06-05  9:37           ` Gerlando Falauto
     [not found]             ` <51AF06E0.6040103-SkAbAL50j+5BDgjK7y7TUQ@public.gmane.org>
2013-06-05  9:45               ` Gregory CLEMENT
2013-06-05  9:49               ` Sebastian Hesselbarth
2013-06-05  9:55                 ` Gerlando Falauto
     [not found]           ` <51AEFF26.8080004-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-05 13:23             ` Jason Cooper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox