[PATCH 1/6] dm9000: allow to specify that no srom is present

Sascha Hauer s.hauer at pengutronix.de
Thu Aug 19 02:32:58 EDT 2010


Hi Jean-Christophe,

On Thu, Aug 19, 2010 at 04:48:25AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ---
>  arch/arm/boards/scb9328/scb9328.c |    1 +
>  drivers/net/dm9000.c              |    6 ++++--
>  include/dm9000.h                  |    1 +
>  3 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/boards/scb9328/scb9328.c b/arch/arm/boards/scb9328/scb9328.c
> index e781393..3c04996 100644
> --- a/arch/arm/boards/scb9328/scb9328.c
> +++ b/arch/arm/boards/scb9328/scb9328.c
> @@ -55,6 +55,7 @@ static struct dm9000_platform_data dm9000_data = {
>  	.iobase   = 0x16000000,
>  	.iodata   = 0x16000004,
>  	.buswidth = DM9000_WIDTH_16,
> +	.srom     = 1;
>  };
>  
>  static struct device_d dm9000_dev = {
> diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
> index 2062c66..5f61ddc 100644
> --- a/drivers/net/dm9000.c
> +++ b/drivers/net/dm9000.c
> @@ -498,8 +498,10 @@ static int dm9000_probe(struct device_d *dev)
>  	edev->send = dm9000_eth_send;
>  	edev->recv = dm9000_eth_rx;
>  	edev->halt = dm9000_eth_halt;
> -	edev->get_ethaddr = dm9000_get_ethaddr;
> -	edev->set_ethaddr = dm9000_set_ethaddr;
> +	if (pdata->srom) {
> +		edev->get_ethaddr = dm9000_get_ethaddr;
> +		edev->set_ethaddr = dm9000_set_ethaddr;
> +	}

edev->set_ethaddr is not an optional call. Without it the driver won't
work.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list