Hi Jim, On Tue, May 19, 2020 at 04:34:00PM -0400, Jim Quinlan wrote: > From: Jim Quinlan <jquinlan@xxxxxxxxxxxx> > > A reset controller "rescal" is shared between the AHCI driver > and the PCIe driver for the BrcmSTB 7216 chip. The code is > modified to allow this sharing and to deassert() properly. > > Signed-off-by: Jim Quinlan <jquinlan@xxxxxxxxxxxx> > --- > drivers/ata/ahci_brcm.c | 14 +++++--------- > 1 file changed, 5 insertions(+), 9 deletions(-) > > diff --git a/drivers/ata/ahci_brcm.c b/drivers/ata/ahci_brcm.c > index 6853dbb4131d..a3c32fc29e9c 100644 > --- a/drivers/ata/ahci_brcm.c > +++ b/drivers/ata/ahci_brcm.c > @@ -428,7 +428,6 @@ static int brcm_ahci_probe(struct platform_device *pdev) > { > const struct of_device_id *of_id; > struct device *dev = &pdev->dev; > - const char *reset_name = NULL; > struct brcm_ahci_priv *priv; > struct ahci_host_priv *hpriv; > struct resource *res; > @@ -452,11 +451,11 @@ static int brcm_ahci_probe(struct platform_device *pdev) > > /* Reset is optional depending on platform and named differently */ > if (priv->version == BRCM_SATA_BCM7216) > - reset_name = "rescal"; > + priv->rcdev = devm_reset_control_get_shared(&pdev->dev, > + "rescal"); With this change the "rescal" reset control is not optional anymore. Please use devm_reset_control_get_optional_shared() or change the comment. > else > - reset_name = "ahci"; > - > - priv->rcdev = devm_reset_control_get_optional(&pdev->dev, reset_name); > + priv->rcdev = devm_reset_control_get_optional(&pdev->dev, > + "ahci"); You can use devm_reset_control_get_optional_exclusive() here to make it clear this requests an exclusive control. regards Philipp