Message ID | 20200603052404.30788-3-linux@roeck-us.net |
---|---|
State | New |
Headers | show |
Series | sd: sdhci: Implement basic vendor specific register support | expand |
Hi Guenter, On 6/3/20 7:24 AM, Guenter Roeck wrote: > Set vendor property to IMX to enable IMX specific functionality > in sdhci code. > > Signed-off-by: Guenter Roeck <linux@roeck-us.net> > --- > hw/arm/fsl-imx25.c | 2 ++ > hw/arm/fsl-imx6.c | 2 ++ > hw/arm/fsl-imx6ul.c | 2 ++ > hw/arm/fsl-imx7.c | 2 ++ > 4 files changed, 8 insertions(+) > > diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c > index cdaa79c26b..2cbd985e93 100644 > --- a/hw/arm/fsl-imx25.c > +++ b/hw/arm/fsl-imx25.c > @@ -274,6 +274,8 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > &err); > object_property_set_uint(OBJECT(&s->esdhc[i]), IMX25_ESDHC_CAPABILITIES, > "capareg", &err); > + object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, > + "vendor", &err); Either check &err, or use &error_abort. You can see a fix here: https://www.mail-archive.com/qemu-devel@nongnu.org/msg695544.html Otherwise: Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &err); > if (err) { > error_propagate(errp, err); > diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c > index f58c85aa8c..8e9a94e4d7 100644 > --- a/hw/arm/fsl-imx6.c > +++ b/hw/arm/fsl-imx6.c > @@ -350,6 +350,8 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > &err); > object_property_set_uint(OBJECT(&s->esdhc[i]), IMX6_ESDHC_CAPABILITIES, > "capareg", &err); > + object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, > + "vendor", &err); > object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &err); > if (err) { > error_propagate(errp, err); > diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c > index 3ecb212da6..ce1462927c 100644 > --- a/hw/arm/fsl-imx6ul.c > +++ b/hw/arm/fsl-imx6ul.c > @@ -505,6 +505,8 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > FSL_IMX6UL_USDHC2_IRQ, > }; > > + object_property_set_uint(OBJECT(&s->usdhc[i]), SDHCI_VENDOR_IMX, > + "vendor", &error_abort); > object_property_set_bool(OBJECT(&s->usdhc[i]), true, "realized", > &error_abort); > > diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c > index 89c3b64c06..dbf16b2814 100644 > --- a/hw/arm/fsl-imx7.c > +++ b/hw/arm/fsl-imx7.c > @@ -416,6 +416,8 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > FSL_IMX7_USDHC3_IRQ, > }; > > + object_property_set_uint(OBJECT(&s->usdhc[i]), SDHCI_VENDOR_IMX, > + "vendor", &error_abort); > object_property_set_bool(OBJECT(&s->usdhc[i]), true, "realized", > &error_abort); > >
On 6/2/20 11:35 PM, Philippe Mathieu-Daudé wrote: > Hi Guenter, > > On 6/3/20 7:24 AM, Guenter Roeck wrote: >> Set vendor property to IMX to enable IMX specific functionality >> in sdhci code. >> >> Signed-off-by: Guenter Roeck <linux@roeck-us.net> >> --- >> hw/arm/fsl-imx25.c | 2 ++ >> hw/arm/fsl-imx6.c | 2 ++ >> hw/arm/fsl-imx6ul.c | 2 ++ >> hw/arm/fsl-imx7.c | 2 ++ >> 4 files changed, 8 insertions(+) >> >> diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c >> index cdaa79c26b..2cbd985e93 100644 >> --- a/hw/arm/fsl-imx25.c >> +++ b/hw/arm/fsl-imx25.c >> @@ -274,6 +274,8 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) >> &err); >> object_property_set_uint(OBJECT(&s->esdhc[i]), IMX25_ESDHC_CAPABILITIES, >> "capareg", &err); >> + object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, >> + "vendor", &err); > > Either check &err, or use &error_abort. > Ok, I'll follow the guidance from the patch pointed to below and add the error check. Thanks, Guenter > You can see a fix here: > https://www.mail-archive.com/qemu-devel@nongnu.org/msg695544.html > > Otherwise: > > Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > >> object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &err); >> if (err) { >> error_propagate(errp, err); >> diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c >> index f58c85aa8c..8e9a94e4d7 100644 >> --- a/hw/arm/fsl-imx6.c >> +++ b/hw/arm/fsl-imx6.c >> @@ -350,6 +350,8 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) >> &err); >> object_property_set_uint(OBJECT(&s->esdhc[i]), IMX6_ESDHC_CAPABILITIES, >> "capareg", &err); >> + object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, >> + "vendor", &err); >> object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &err); >> if (err) { >> error_propagate(errp, err); >> diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c >> index 3ecb212da6..ce1462927c 100644 >> --- a/hw/arm/fsl-imx6ul.c >> +++ b/hw/arm/fsl-imx6ul.c >> @@ -505,6 +505,8 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) >> FSL_IMX6UL_USDHC2_IRQ, >> }; >> >> + object_property_set_uint(OBJECT(&s->usdhc[i]), SDHCI_VENDOR_IMX, >> + "vendor", &error_abort); >> object_property_set_bool(OBJECT(&s->usdhc[i]), true, "realized", >> &error_abort); >> >> diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c >> index 89c3b64c06..dbf16b2814 100644 >> --- a/hw/arm/fsl-imx7.c >> +++ b/hw/arm/fsl-imx7.c >> @@ -416,6 +416,8 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) >> FSL_IMX7_USDHC3_IRQ, >> }; >> >> + object_property_set_uint(OBJECT(&s->usdhc[i]), SDHCI_VENDOR_IMX, >> + "vendor", &error_abort); >> object_property_set_bool(OBJECT(&s->usdhc[i]), true, "realized", >> &error_abort); >> >> >
diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c index cdaa79c26b..2cbd985e93 100644 --- a/hw/arm/fsl-imx25.c +++ b/hw/arm/fsl-imx25.c @@ -274,6 +274,8 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) &err); object_property_set_uint(OBJECT(&s->esdhc[i]), IMX25_ESDHC_CAPABILITIES, "capareg", &err); + object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, + "vendor", &err); object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &err); if (err) { error_propagate(errp, err); diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index f58c85aa8c..8e9a94e4d7 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -350,6 +350,8 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) &err); object_property_set_uint(OBJECT(&s->esdhc[i]), IMX6_ESDHC_CAPABILITIES, "capareg", &err); + object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, + "vendor", &err); object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &err); if (err) { error_propagate(errp, err); diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c index 3ecb212da6..ce1462927c 100644 --- a/hw/arm/fsl-imx6ul.c +++ b/hw/arm/fsl-imx6ul.c @@ -505,6 +505,8 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) FSL_IMX6UL_USDHC2_IRQ, }; + object_property_set_uint(OBJECT(&s->usdhc[i]), SDHCI_VENDOR_IMX, + "vendor", &error_abort); object_property_set_bool(OBJECT(&s->usdhc[i]), true, "realized", &error_abort); diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c index 89c3b64c06..dbf16b2814 100644 --- a/hw/arm/fsl-imx7.c +++ b/hw/arm/fsl-imx7.c @@ -416,6 +416,8 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) FSL_IMX7_USDHC3_IRQ, }; + object_property_set_uint(OBJECT(&s->usdhc[i]), SDHCI_VENDOR_IMX, + "vendor", &error_abort); object_property_set_bool(OBJECT(&s->usdhc[i]), true, "realized", &error_abort);
Set vendor property to IMX to enable IMX specific functionality in sdhci code. Signed-off-by: Guenter Roeck <linux@roeck-us.net> --- hw/arm/fsl-imx25.c | 2 ++ hw/arm/fsl-imx6.c | 2 ++ hw/arm/fsl-imx6ul.c | 2 ++ hw/arm/fsl-imx7.c | 2 ++ 4 files changed, 8 insertions(+)