lkml.org 
[lkml]   [2021]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 075/245] net: pch_gbe: Propagate error from devm_gpio_request_one()
    Date
    From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

    [ Upstream commit 9e3617a7b84512bf96c04f9cf82d1a7257d33794 ]

    If GPIO controller is not available yet we need to defer
    the probe of GBE until provider will become available.

    While here, drop GPIOF_EXPORT because it's deprecated and
    may not be available.

    Fixes: f1a26fdf5944 ("pch_gbe: Add MinnowBoard support")
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Tested-by: Flavio Suligoi <f.suligoi@asem.it>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 10 +++++++---
    1 file changed, 7 insertions(+), 3 deletions(-)

    diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
    index 3cd87a41ac92..5d39b5319d50 100644
    --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
    +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
    @@ -2617,9 +2617,13 @@ static int pch_gbe_probe(struct pci_dev *pdev,
    adapter->pdev = pdev;
    adapter->hw.back = adapter;
    adapter->hw.reg = pcim_iomap_table(pdev)[PCH_GBE_PCI_BAR];
    +
    adapter->pdata = (struct pch_gbe_privdata *)pci_id->driver_data;
    - if (adapter->pdata && adapter->pdata->platform_init)
    - adapter->pdata->platform_init(pdev);
    + if (adapter->pdata && adapter->pdata->platform_init) {
    + ret = adapter->pdata->platform_init(pdev);
    + if (ret)
    + goto err_free_netdev;
    + }

    adapter->ptp_pdev = pci_get_bus_and_slot(adapter->pdev->bus->number,
    PCI_DEVFN(12, 4));
    @@ -2709,7 +2713,7 @@ err_free_netdev:
    */
    static int pch_gbe_minnow_platform_init(struct pci_dev *pdev)
    {
    - unsigned long flags = GPIOF_DIR_OUT | GPIOF_INIT_HIGH | GPIOF_EXPORT;
    + unsigned long flags = GPIOF_OUT_INIT_HIGH;
    unsigned gpio = MINNOW_PHY_RESET_GPIO;
    int ret;

    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-19 17:13    [W:4.037 / U:0.992 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site