[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH v2 1/6] arm: Uniquely name imx25 I2C buses.
From: |
Alastair D'Silva |
Subject: |
Re: [Qemu-arm] [PATCH v2 1/6] arm: Uniquely name imx25 I2C buses. |
Date: |
Fri, 02 Dec 2016 09:45:06 +1100 |
On Thu, 2016-12-01 at 13:31 +0100, Cédric Le Goater wrote:
> On 12/01/2016 01:42 AM, Alastair D'Silva wrote:
> > On Wed, 2016-11-30 at 09:18 +0100, Cédric Le Goater wrote:
> > > On 11/30/2016 06:36 AM, Alastair D'Silva wrote:
<snip>
> > > > diff --git a/hw/i2c/imx_i2c.c b/hw/i2c/imx_i2c.c
> > > > index 37e5a62..7be10fb 100644
> > > > --- a/hw/i2c/imx_i2c.c
> > > > +++ b/hw/i2c/imx_i2c.c
> > > > @@ -305,12 +305,16 @@ static const VMStateDescription
> > > > imx_i2c_vmstate = {
> > > > static void imx_i2c_realize(DeviceState *dev, Error **errp)
> > > > {
> > > > IMXI2CState *s = IMX_I2C(dev);
> > > > + static int bus_count;
> > >
> > > hmm, the static is ugly :/
> > >
> > > Isn't there other ways to achieve this naming ?
> > >
> > > Thanks,
> > >
> > > C.
> > >
> >
> > I'm not seeing an obvious way around it. The busses are realized
> > independently (so I can't implement what we do with the aspeed i2c
> > busses), and it is named before fsl-imx25:fsl_imx25_realize() can
> > apply
> > specific properties to the bus.
> >
> > If you have any suggestions, I'm all ears.
>
> What about that ?
>
> @@ -310,7 +310,7 @@ static void imx_i2c_realize(DeviceState
> IMX_I2C_MEM_SIZE);
> sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem);
> sysbus_init_irq(SYS_BUS_DEVICE(dev), &s->irq);
> - s->bus = i2c_init_bus(DEVICE(dev), "i2c");
> + s->bus = i2c_init_bus(DEVICE(dev), NULL);
> }
>
> static void imx_i2c_class_init(ObjectClass *klass, void *data)
>
> Which should name automatically the I2C objects :
>
> (qemu) info qom-tree
> /machine (imx25-pdk-machine)
> /peripheral (container)
> /soc (fsl,imx25)
> /peripheral-anon (container)
> /unattached (container)
> /device[0] (arm926-arm-cpu)
> /unnamed-gpio-in[1] (irq)
> /unnamed-gpio-in[3] (irq)
> /unnamed-gpio-in[2] (irq)
> /unnamed-gpio-in[0] (irq)
>
> /device[15] (imx.i2c)
> /imx.i2c[0] (qemu:memory-region)
> /i2c-bus.0 (i2c-bus)
> /device[17] (imx.i2c)
> /imx.i2c[0] (qemu:memory-region)
> /i2c-bus.2 (i2c-bus)
> /device[16] (imx.i2c)
> /imx.i2c[0] (qemu:memory-region)
> /i2c-bus.1 (i2c-bus)
> ....
>
>
> Cheers,
>
> C.
Oh, great, that looks like a much better solution, thanks :)
--
Alastair D'Silva mob: 0423 762 819
skype:
alastair_dsilva
Twitter: @EvilDeece
blog: http://alastair.d-silva.org