Hi Linus, Today's linux-next merge of the pinctrl tree got a conflict in drivers/net/ethernet/ti/davinci_mdio.c between commit 2786aae7fc93 ("net/ti davinci_mdio: don't hold a spin lock while calling pm_runtime") from Linus' tree and commit 5c0e3580cb98 ("drivers: net: davinci_mdio: use pinctrl PM helpers") from the pinctrl tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc drivers/net/ethernet/ti/davinci_mdio.c index c47f0db,5e361f4..0000000 --- a/drivers/net/ethernet/ti/davinci_mdio.c +++ b/drivers/net/ethernet/ti/davinci_mdio.c @@@ -449,22 -453,32 +453,28 @@@ static int davinci_mdio_suspend(struct __raw_writel(ctrl, &data->regs->control); wait_for_idle(data); - pm_runtime_put_sync(data->dev); - data->suspended = true; spin_unlock(&data->lock); + pm_runtime_put_sync(data->dev); + /* Select sleep pin state */ + pinctrl_pm_select_sleep_state(dev); + return 0; } static int davinci_mdio_resume(struct device *dev) { struct davinci_mdio_data *data = dev_get_drvdata(dev); - u32 ctrl; + /* Select default pin state */ + pinctrl_pm_select_default_state(dev); + - spin_lock(&data->lock); pm_runtime_get_sync(data->dev); + spin_lock(&data->lock); /* restart the scan state machine */ - ctrl = __raw_readl(&data->regs->control); - ctrl |= CONTROL_ENABLE; - __raw_writel(ctrl, &data->regs->control); + __davinci_mdio_reset(data); data->suspended = false; spin_unlock(&data->lock);
Attachment:
pgp3eae3RvjzM.pgp
Description: PGP signature