netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Jeremy Linton <jeremy.linton@arm.com>
Cc: netdev@vger.kernel.org, steve.glendinning@shawell.net,
	sergei.shtylyov@cogentembedded.com
Subject: Re: [PATCH 2/2] net/smsc911x: Move interrupt allocation to open/stop
Date: Thu, 1 Sep 2016 19:06:17 +0200	[thread overview]
Message-ID: <20160901170617.GD10951@lunn.ch> (raw)
In-Reply-To: <1472747141-15886-3-git-send-email-jeremy.linton@arm.com>

Hi Jeremy 

Please don't add forward references. Move the function earlier in the
file.

>  static inline u32 __smsc911x_reg_read(struct smsc911x_data *pdata, u32 reg)
>  {
>  	if (pdata->config.flags & SMSC911X_USE_32BIT)
> @@ -1514,6 +1516,7 @@ static int smsc911x_open(struct net_device *dev)
>  	unsigned int temp;
>  	unsigned int intcfg;
>  	int retval;
> +	int irq_flags;
>  
>  	/* find and start the given phy */
>  	if (!dev->phydev) {
> @@ -1584,6 +1587,14 @@ static int smsc911x_open(struct net_device *dev)
>  	pdata->software_irq_signal = 0;
>  	smp_wmb();
>  
> +	irq_flags = irq_get_trigger_type(dev->irq);
> +	if (request_irq(dev->irq, smsc911x_irqhandler,
> +			irq_flags | IRQF_SHARED, dev->name, dev)) {
> +		SMSC_WARN(pdata, probe,
> +			  "Unable to claim requested irq: %d", dev->irq);
> +		goto mii_free_out;
> +	}
> +
>  	temp = smsc911x_reg_read(pdata, INT_EN);
>  	temp |= INT_EN_SW_INT_EN_;
>  	smsc911x_reg_write(pdata, INT_EN, temp);
> @@ -1599,7 +1610,7 @@ static int smsc911x_open(struct net_device *dev)
>  		netdev_warn(dev, "ISR failed signaling test (IRQ %d)\n",
>  			    dev->irq);
>  		retval = -ENODEV;
> -		goto mii_free_out;
> +		goto irq_stop_out;
>  	}
>  	SMSC_TRACE(pdata, ifup, "IRQ handler passed test using IRQ %d",
>  		   dev->irq);
> @@ -1645,7 +1656,8 @@ static int smsc911x_open(struct net_device *dev)
>  
>  	netif_start_queue(dev);
>  	return 0;
> -
> +irq_stop_out:
> +	free_irq(dev->irq, dev);
>  mii_free_out:
>  	phy_disconnect(dev->phydev);
>  	dev->phydev = NULL;
> @@ -1672,12 +1684,15 @@ static int smsc911x_stop(struct net_device *dev)
>  	dev->stats.rx_dropped += smsc911x_reg_read(pdata, RX_DROP);
>  	smsc911x_tx_update_txcounters(dev);
>  
> +	free_irq(dev->irq, dev);
> +
>  	/* Bring the PHY down */
>  	if (dev->phydev) {
>  		phy_stop(dev->phydev);
>  		phy_disconnect(dev->phydev);
>  		dev->phydev = NULL;
>  	}
> +	netif_carrier_off(dev);

What has this change got to do with interrupt handling?

> @@ -2479,38 +2491,18 @@ static int smsc911x_drv_probe(struct platform_device *pdev)
>  	if (retval < 0)
>  		goto out_disable_resources;
>  
> -	/* configure irq polarity and type before connecting isr */
> -	if (pdata->config.irq_polarity == SMSC911X_IRQ_POLARITY_ACTIVE_HIGH)
> -		intcfg |= INT_CFG_IRQ_POL_;
> -
> -	if (pdata->config.irq_type == SMSC911X_IRQ_TYPE_PUSH_PULL)
> -		intcfg |= INT_CFG_IRQ_TYPE_;
> -
> -	smsc911x_reg_write(pdata, INT_CFG, intcfg);


I see these removes, but where are the adds?

  Andrew

  reply	other threads:[~2016-09-01 21:23 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-01 16:25 [PATCH 0/2] net: smsc911x: Move phy and interrupt config Jeremy Linton
2016-09-01 16:25 ` [PATCH 1/2] net: smsc911x: Fix register_netdev, phy startup, driver unload ordering Jeremy Linton
2016-09-01 16:58   ` Andrew Lunn
2016-09-01 18:42     ` Jeremy Linton
2016-09-01 19:22       ` Andrew Lunn
2016-09-01 16:25 ` [PATCH 2/2] net/smsc911x: Move interrupt allocation to open/stop Jeremy Linton
2016-09-01 17:06   ` Andrew Lunn [this message]
2016-09-01 18:47     ` Jeremy Linton
2016-09-01 19:45       ` Andrew Lunn
2016-09-01 20:39         ` Jeremy Linton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160901170617.GD10951@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=jeremy.linton@arm.com \
    --cc=netdev@vger.kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=steve.glendinning@shawell.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).