[RFC][PATCH 2.6.12-rc2 1/3] FCC Ethernet PlatformDevice support for 82xx

Eugene Surovegin ebs at ebshome.net
Thu May 5 02:46:24 EST 2005


On Wed, May 04, 2005 at 06:35:16PM +0400, Vitaly Bordug wrote:
> This patch adds generic PlatformDevice support to the 82xx family.
> Only FCC's exist currently in the structure, as there is the driver 
> which will utilize this.
> 

[snip]

> +#ifdef CONFIG_CPM2
> +	identify_ppc_sys_by_id(cpm2_immr->im_memctl.memc_immr << 16);
> +
> +	/* Set up the MAC addresses for the FECs
> +	 */
> +	fec = ppc_sys_platform_devices[MPC82xx_FCC1].dev.platform_data;
> +	memcpy(fec->mac_addr,bi->bi_enetaddr,6);
> +
> +	fec = ppc_sys_platform_devices[MPC82xx_FCC2].dev.platform_data;
> +#ifdef CONFIG_ADS8272
> +	memcpy(fec->mac_addr,bi->bi_enet1addr,6);
> +#else
> +	memcpy(fec->mac_addr,bi->bi_enetaddr,6);
> +	fec->macaddr[5] ^= 1;
> +#endif
> +#endif

What is this? Why does common file contain board specific ifdefs????

[snip]

> +/* FCC1 Clock Source Configuration.  There are board specific.
> +   Can only choose from CLK9-12 */
> +#if defined(CONFIG_ADS8272)
> +#define F1_RXCLK	11
> +#define F1_TXCLK	10
> +#else
> +#define F1_RXCLK	12
> +#define F1_TXCLK	11
> +#endif

Same thing. Why on earth you continue current 8xxx trend of putting 
board specific crap into common files?

> +
> +/* FCC2 Clock Source Configuration.  There are board specific.
> +   Can only choose from CLK13-16 */
> +#ifdef CONFIG_ADS8272
> +#define F2_RXCLK	15
> +#define F2_TXCLK	16
> +#else
> +#define F2_RXCLK	13
> +#define F2_TXCLK	14
> +#endif

Ditto.

> +#ifdef CONFIG_ADS8272
> +#define PC_MDIO		0x00002000U
> +#define PC_MDCK		0x00001000U
> +#else
> +#define PC_MDIO		0x00000004U
> +#define PC_MDCK		0x00000020U
> +#endif

Ditto.

> +				.name	= "phyinterrupt",
> +				.start	= SIU_INT_IRQ5,
> +				.end	= SIU_INT_IRQ5,
> +				.flags	= IORESOURCE_IRQ,
> +			},

Why is this here? PHY interrupt routing is _board_ specific.

-- 
Eugene



More information about the Linuxppc-embedded mailing list