* [PATCH] tg3: remove redundant pm init code
@ 2013-05-29 9:00 Yijing Wang
2013-05-29 23:22 ` Michael Chan
2013-06-03 7:13 ` David Miller
0 siblings, 2 replies; 6+ messages in thread
From: Yijing Wang @ 2013-05-29 9:00 UTC (permalink / raw)
To: Nithin Nayak Sujir, Michael Chan
Cc: linux-pci, linux-kernel, netdev, Hanjun Guo, Jiang Liu,
Yijing Wang
Pci_enable_device() will set device pm state to D0, so
it's no need to do it again in tg3_init_one().
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
---
drivers/net/ethernet/broadcom/tg3.c | 20 +-------------------
1 files changed, 1 insertions(+), 19 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 728d42a..1396ab3 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -17042,25 +17042,10 @@ static int tg3_init_one(struct pci_dev *pdev,
pci_set_master(pdev);
- /* Find power-management capability. */
- pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM);
- if (pm_cap == 0) {
- dev_err(&pdev->dev,
- "Cannot find Power Management capability, aborting\n");
- err = -EIO;
- goto err_out_free_res;
- }
-
- err = pci_set_power_state(pdev, PCI_D0);
- if (err) {
- dev_err(&pdev->dev, "Transition to D0 failed, aborting\n");
- goto err_out_free_res;
- }
-
dev = alloc_etherdev_mq(sizeof(*tp), TG3_IRQ_MAX_VECS);
if (!dev) {
err = -ENOMEM;
- goto err_out_power_down;
+ goto err_out_free_res;
}
SET_NETDEV_DEV(dev, &pdev->dev);
@@ -17406,9 +17391,6 @@ err_out_iounmap:
err_out_free_dev:
free_netdev(dev);
-err_out_power_down:
- pci_set_power_state(pdev, PCI_D3hot);
-
err_out_free_res:
pci_release_regions(pdev);
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] tg3: remove redundant pm init code
2013-05-29 9:00 [PATCH] tg3: remove redundant pm init code Yijing Wang
@ 2013-05-29 23:22 ` Michael Chan
2013-06-03 7:13 ` David Miller
1 sibling, 0 replies; 6+ messages in thread
From: Michael Chan @ 2013-05-29 23:22 UTC (permalink / raw)
To: Yijing Wang
Cc: Nithin Nayak Sujir, linux-pci, linux-kernel, netdev, Hanjun Guo,
Jiang Liu
On Wed, 2013-05-29 at 17:00 +0800, Yijing Wang wrote:
> Pci_enable_device() will set device pm state to D0, so
> it's no need to do it again in tg3_init_one().
>
> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Acked-by: Michael Chan <mchan@broadcom.com>
> ---
> drivers/net/ethernet/broadcom/tg3.c | 20 +-------------------
> 1 files changed, 1 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
> index 728d42a..1396ab3 100644
> --- a/drivers/net/ethernet/broadcom/tg3.c
> +++ b/drivers/net/ethernet/broadcom/tg3.c
> @@ -17042,25 +17042,10 @@ static int tg3_init_one(struct pci_dev *pdev,
>
> pci_set_master(pdev);
>
> - /* Find power-management capability. */
> - pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM);
> - if (pm_cap == 0) {
> - dev_err(&pdev->dev,
> - "Cannot find Power Management capability, aborting\n");
> - err = -EIO;
> - goto err_out_free_res;
> - }
> -
> - err = pci_set_power_state(pdev, PCI_D0);
> - if (err) {
> - dev_err(&pdev->dev, "Transition to D0 failed, aborting\n");
> - goto err_out_free_res;
> - }
> -
> dev = alloc_etherdev_mq(sizeof(*tp), TG3_IRQ_MAX_VECS);
> if (!dev) {
> err = -ENOMEM;
> - goto err_out_power_down;
> + goto err_out_free_res;
> }
>
> SET_NETDEV_DEV(dev, &pdev->dev);
> @@ -17406,9 +17391,6 @@ err_out_iounmap:
> err_out_free_dev:
> free_netdev(dev);
>
> -err_out_power_down:
> - pci_set_power_state(pdev, PCI_D3hot);
> -
> err_out_free_res:
> pci_release_regions(pdev);
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] tg3: remove redundant pm init code
2013-05-29 9:00 [PATCH] tg3: remove redundant pm init code Yijing Wang
2013-05-29 23:22 ` Michael Chan
@ 2013-06-03 7:13 ` David Miller
2013-06-03 7:15 ` Yijing Wang
1 sibling, 1 reply; 6+ messages in thread
From: David Miller @ 2013-06-03 7:13 UTC (permalink / raw)
To: wangyijing
Cc: nsujir, mchan, linux-pci, linux-kernel, netdev, guohanjun, liuj97
From: Yijing Wang <wangyijing@huawei.com>
Date: Wed, 29 May 2013 17:00:32 +0800
> Pci_enable_device() will set device pm state to D0, so
> it's no need to do it again in tg3_init_one().
>
> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
This patch introduces a warning:
drivers/net/ethernet/broadcom/tg3.c: In function ‘tg3_init_one’:
drivers/net/ethernet/broadcom/tg3.c:17231:13: warning: ‘pm_cap’ may be used uninitialized in this function [-Wuninitialized]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] tg3: remove redundant pm init code
2013-06-03 7:13 ` David Miller
@ 2013-06-03 7:15 ` Yijing Wang
0 siblings, 0 replies; 6+ messages in thread
From: Yijing Wang @ 2013-06-03 7:15 UTC (permalink / raw)
To: David Miller
Cc: nsujir, mchan, linux-pci, linux-kernel, netdev, guohanjun, liuj97
On 2013/6/3 15:13, David Miller wrote:
> From: Yijing Wang <wangyijing@huawei.com>
> Date: Wed, 29 May 2013 17:00:32 +0800
>
>> Pci_enable_device() will set device pm state to D0, so
>> it's no need to do it again in tg3_init_one().
>>
>> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
>
> This patch introduces a warning:
>
> drivers/net/ethernet/broadcom/tg3.c: In function ‘tg3_init_one’:
> drivers/net/ethernet/broadcom/tg3.c:17231:13: warning: ‘pm_cap’ may be used uninitialized in this function [-Wuninitialized]
>
Sorry, I will update it and resend soon.
Thanks!
Yijing.
--
Thanks!
Yijing
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] tg3: remove redundant pm init code
@ 2013-06-03 7:36 Yijing Wang
2013-06-03 7:49 ` David Miller
0 siblings, 1 reply; 6+ messages in thread
From: Yijing Wang @ 2013-06-03 7:36 UTC (permalink / raw)
To: David S. Miller; +Cc: linux-kernel, netdev, Hanjun Guo, Jiang Liu, Yijing Wang
Pci_enable_device() will set device pm state to D0, so
it's no need to do it again in tg3_init_one().
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
---
drivers/net/ethernet/broadcom/tg3.c | 24 +++---------------------
1 files changed, 3 insertions(+), 21 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 728d42a..ca5bc7e 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -17020,7 +17020,7 @@ static int tg3_init_one(struct pci_dev *pdev,
{
struct net_device *dev;
struct tg3 *tp;
- int i, err, pm_cap;
+ int i, err;
u32 sndmbx, rcvmbx, intmbx;
char str[40];
u64 dma_mask, persist_dma_mask;
@@ -17042,25 +17042,10 @@ static int tg3_init_one(struct pci_dev *pdev,
pci_set_master(pdev);
- /* Find power-management capability. */
- pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM);
- if (pm_cap == 0) {
- dev_err(&pdev->dev,
- "Cannot find Power Management capability, aborting\n");
- err = -EIO;
- goto err_out_free_res;
- }
-
- err = pci_set_power_state(pdev, PCI_D0);
- if (err) {
- dev_err(&pdev->dev, "Transition to D0 failed, aborting\n");
- goto err_out_free_res;
- }
-
dev = alloc_etherdev_mq(sizeof(*tp), TG3_IRQ_MAX_VECS);
if (!dev) {
err = -ENOMEM;
- goto err_out_power_down;
+ goto err_out_free_res;
}
SET_NETDEV_DEV(dev, &pdev->dev);
@@ -17068,7 +17053,7 @@ static int tg3_init_one(struct pci_dev *pdev,
tp = netdev_priv(dev);
tp->pdev = pdev;
tp->dev = dev;
- tp->pm_cap = pm_cap;
+ tp->pm_cap = pdev->pm_cap;
tp->rx_mode = TG3_DEF_RX_MODE;
tp->tx_mode = TG3_DEF_TX_MODE;
tp->irq_sync = 1;
@@ -17406,9 +17391,6 @@ err_out_iounmap:
err_out_free_dev:
free_netdev(dev);
-err_out_power_down:
- pci_set_power_state(pdev, PCI_D3hot);
-
err_out_free_res:
pci_release_regions(pdev);
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-06-03 7:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-29 9:00 [PATCH] tg3: remove redundant pm init code Yijing Wang
2013-05-29 23:22 ` Michael Chan
2013-06-03 7:13 ` David Miller
2013-06-03 7:15 ` Yijing Wang
-- strict thread matches above, loose matches on Subject: below --
2013-06-03 7:36 Yijing Wang
2013-06-03 7:49 ` David Miller
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).