From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44842) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cBxZw-0000QS-91 for qemu-devel@nongnu.org; Wed, 30 Nov 2016 00:37:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cBxZt-0005Ld-62 for qemu-devel@nongnu.org; Wed, 30 Nov 2016 00:37:12 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:33556) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cBxZs-0005KS-QO for qemu-devel@nongnu.org; Wed, 30 Nov 2016 00:37:09 -0500 Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id uAU5Yumr052831 for ; Wed, 30 Nov 2016 00:37:07 -0500 Received: from e23smtp07.au.ibm.com (e23smtp07.au.ibm.com [202.81.31.140]) by mx0a-001b2d01.pphosted.com with ESMTP id 271qjedw5c-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Wed, 30 Nov 2016 00:37:07 -0500 Received: from localhost by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 30 Nov 2016 15:37:05 +1000 From: "Alastair D'Silva" Date: Wed, 30 Nov 2016 16:36:24 +1100 In-Reply-To: <20161130053629.23340-1-alastair@au1.ibm.com> References: <20161130053629.23340-1-alastair@au1.ibm.com> Message-Id: <20161130053629.23340-2-alastair@au1.ibm.com> Subject: [Qemu-devel] [PATCH v2 1/6] arm: Uniquely name imx25 I2C buses. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-arm@nongnu.org Cc: qemu-devel@nongnu.org, Peter Maydell , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Andrew Jeffery , Joel Stanley , Alastair D'Silva From: Alastair D'Silva The imx25 chip provides 3 i2c buses, but they have all been named "i2c", which makes it difficult to predict which bus a device will be connected to when specified on the command line. This patch addresses the issue by naming the buses uniquely: i2c.0 i2c.1 i2c.2 Signed-off-by: Alastair D'Silva --- hw/arm/imx25_pdk.c | 4 +--- hw/i2c/imx_i2c.c | 6 +++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c index 025b608..c6f04d3 100644 --- a/hw/arm/imx25_pdk.c +++ b/hw/arm/imx25_pdk.c @@ -138,9 +138,7 @@ static void imx25_pdk_init(MachineState *machine) * We add it here (only on qtest usage) to be able to do a bit * of simple qtest. See "make check" for details. */ - i2c_create_slave((I2CBus *)qdev_get_child_bus(DEVICE(&s->soc.i2c[0]), - "i2c"), - "ds1338", 0x68); + i2c_create_slave(s->soc.i2c[0].bus, "ds1338", 0x68); } } 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; + char name[16]; + + snprintf(name, sizeof(name), "i2c.%d", bus_count++); memory_region_init_io(&s->iomem, OBJECT(s), &imx_i2c_ops, s, TYPE_IMX_I2C, 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), name); } static void imx_i2c_class_init(ObjectClass *klass, void *data) -- 2.9.3