Subject: Re: [PATCH net-next 1/5] net: dsa: b53: Add support for Broadcom RoboSwitch

From: Andrew Lunn <[email-masked]>
Date: Fri, 10 Jun 2016 14:11:49 +0200

> +static void b53_switch_reset_gpio(struct b53_device *dev)
> +{
> +	int gpio = dev->reset_gpio;
> +
> +	if (gpio < 0)
> +		return;
> +
> +	/* Reset sequence: RESET low(50ms)->high(20ms)
> +	 */
> +	gpio_set_value(gpio, 0);
> +	mdelay(50);
> +
> +	gpio_set_value(gpio, 1);
> +	mdelay(20);
> +
> +	dev->current_page = 0xff;
> +}

Hi Florian

It would be better to use the gpiod API here, so the active hi/active
low flag is respected.

> +	dev->reset_gpio = b53_switch_get_reset_gpio(dev);
> +	if (dev->reset_gpio >= 0) {
> +		ret = devm_gpio_request_one(dev->dev, dev->reset_gpio,
> +					    GPIOF_OUT_INIT_HIGH, "robo_reset");
> +		if (ret)
> +			return ret;
> +	}
> +
> +	return 0;
> +}

> +static inline int b53_switch_get_reset_gpio(struct b53_device *dev)
> +{
> +	enum bcm47xx_board board = bcm47xx_board_get();
> +
> +	switch (board) {
> +	case BCM47XX_BOARD_LINKSYS_WRT300NV11:
> +	case BCM47XX_BOARD_LINKSYS_WRT310NV1:
> +		return 8;

Rather than hard coding it, could we get it from device tree?

       Andrew