From patchwork Mon Apr 8 21:33:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 786964 Delivered-To: patch@linaro.org Received: by 2002:adf:fb4d:0:b0:346:15ad:a2a with SMTP id c13csp75666wrs; Mon, 8 Apr 2024 14:34:43 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVDpY+Q89Phliwh0AafowzwMXGNa/moIXUSgG4ByjqZ4uxyc8zicu82LiAWSyWXwX0H2i7dCohc3RbJBmNSDPjo X-Google-Smtp-Source: AGHT+IFnWzREm2VugMY1nZHQpVvD2SwzMjQl53t1alhttASo4z/ARS6Pq8CCR5lUDpGEElEGBB3L X-Received: by 2002:ad4:5c61:0:b0:696:9255:b787 with SMTP id i1-20020ad45c61000000b006969255b787mr11952601qvh.9.1712612083604; Mon, 08 Apr 2024 14:34:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1712612083; cv=none; d=google.com; s=arc-20160816; b=kb1QkrJua49XlnuKXVOwk4kmspis2CFsepApI3dpo4i4jnJ/tWtYjDUsD7FBbbQiOp mCVRClm1m43Qw7PsZwgFwceQRvey8uu5CltdOuXfL0FOitXeI9d6sMs/csWZ8yhK5QHh Z/N9rpXyVy/T9a3SDka5rEwTWYE/joNketdGt2MWXIFmjeZLx3CetbrqjTgmacr/HrMC NjgxluIROZ4M0fHnr/d9PyFmIP1R97oavUUIWcJuBQ7X+AYjzSGV6Y+L6FdC4Rm0FOtg IGamQwE/oDvzjI5N0r8RFOvE1ciWFzpbo2He3fDmzGUGlsu4ccaaWoA+Ctrw8C1ltPbl RoWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=UF4PBTf+6bOt9JZIQHGjlr2wqW8JEBLTBUT1s2yM6r8=; fh=4Y+HcEW+GTFjtroS52SiAI+wYbsWK0kAjeTlZKKOrzk=; b=uqgxHkVfFATz6YTokpUroNWV/uuCFRuGCD7/dBqCdRahToouBoz0ptGPGLgDDz1NO2 DWlTIw3XRN3yN/GGDoiKy7C104JxaRpkQdlBc7kPoOxWdi+2N4B/DoAqB6JvsuHGWq45 sh+OFUkvQ2pi5EfyLJbBDCmeZeTE4Qg9P6QX0H0bOFhxuSFX0mbtPbuo9DiDvjG/srVu zXnqlh0GrJNXX84t0t4PRUNgEN1UcmOQDIbLwIwHzLe8o5aUw3ySDA3+LYrYaq4ZF/hm tVc5FoNUDfECg/pfD/I2BTwhyt52QTPlpoz3sNSoGAtAOy3MFHQy0IozvvRWEjDwc/qC BydQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=HhFvmy+O; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id px22-20020a056214051600b0069b1ecf2c21si2351861qvb.469.2024.04.08.14.34.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 08 Apr 2024 14:34:43 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=HhFvmy+O; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtwcz-00055G-Dz; Mon, 08 Apr 2024 17:34:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtwcx-00054z-G2 for qemu-devel@nongnu.org; Mon, 08 Apr 2024 17:34:07 -0400 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtwcs-0007Rp-7d for qemu-devel@nongnu.org; Mon, 08 Apr 2024 17:34:06 -0400 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-56e2e09fc27so6721844a12.0 for ; Mon, 08 Apr 2024 14:34:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712612040; x=1713216840; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UF4PBTf+6bOt9JZIQHGjlr2wqW8JEBLTBUT1s2yM6r8=; b=HhFvmy+OLGOcatcdIeliC5ogedqkEreI4uYvFKtDfUDV5GQKcqFFlAC3P6QUjmggm1 KWp1Uc1Xs1cCwNQ2Hhy0JJAGWSeWSKRcFe4onZAVZ6gDaNz120ueD6rUR619MMsDx/sr 5AFNZIbQgoxDpsTVwl4VGqr7dni4xHd01VHlFfOwp1ezM7Gz62S2LLI87oyRHzQRXpKr achcdvvhAx6c7iHa458T7HwKlbKvWGLys9gFWe5bYpxRiqo85l/VhoPiAge5xugIrFUC Iu7BHGoUAu2gkVB71ZIroHVw8+MkHTTg06lwaayPO4xWfXcW0Ev7dPoxLEZ0AOp+pk9I XF+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712612040; x=1713216840; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UF4PBTf+6bOt9JZIQHGjlr2wqW8JEBLTBUT1s2yM6r8=; b=q5iTrdbYHmPDGUqF8lifHRF9wL3HpycnhJhyP6YLOgZoI8XCoGmVDTuAzy726H2C+F XfYFI0iUwRc72P03S9fqODTe1AseKmcD4rZlrwRh8SqEp4WBbx7BEbt6itkifW9cBBQ6 A6mY7Dt5SZuEQ2mFVcIuNm8WITwLxY0MVgQalck4AVUbzYJsUWMUZEgY/2E6rkym0+t8 SnFIPmzBfCgRF8G3FuH0YjiLxprnzV7ypZv3Qgnnk0xn2L7u6ZLdyzf6chHmlf/X2YVY dMY93HT0fPyUjxcOkN3zB7RHtnJLghg58vVHI/DmhIcMEsu5D05AeukawhwHXFObOOTo mfMg== X-Gm-Message-State: AOJu0Yz0wiT1S8bUINkVlUODRAxldt6LL17DLbMqS8lmmTUQVYbW/Tyk Ti17w1jvVGSO0DLKnjgjZrzKD42gy/7As1TkfeRPWfbVmSLHRs79KE8uFCDcS8IfC/8WiyY2j0X o X-Received: by 2002:a05:6402:1f49:b0:56d:fbe4:aeba with SMTP id 9-20020a0564021f4900b0056dfbe4aebamr605230edz.21.1712612039432; Mon, 08 Apr 2024 14:33:59 -0700 (PDT) Received: from m1x-phil.lan ([176.176.144.67]) by smtp.gmail.com with ESMTPSA id co24-20020a0564020c1800b0056e3d80ca71sm3789742edb.35.2024.04.08.14.33.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 08 Apr 2024 14:33:58 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Corey Minyard , =?utf-8?q?Daniel_P_=2E_Berrang=C3=A9?= , Thomas Huth , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Wolfram Sang Subject: [RFC PATCH-for-9.1 3/4] hw/i2c: Convert to spec v7 terminology (automatically) Date: Mon, 8 Apr 2024 23:33:37 +0200 Message-ID: <20240408213339.83149-4-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240408213339.83149-1-philmd@linaro.org> References: <20240408213339.83149-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::535; envelope-from=philmd@linaro.org; helo=mail-ed1-x535.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org One of the biggest change from I2C spec v6 -> v7 is: • Updated the terms "master/slave" to "controller/target" Since it follows the inclusive terminology from the "Conscious Language in your Open Source Projects" guidelines [*], replace the I2C terminology. Mechanical transformation running: $ cat i2c_rename.txt | while read old new; do \ sed -i -e "s/$old/$new/g" $(git grep -l $old); \ done Having: $ cat i2c_rename.txt i2c_bus_master i2c_bus_controller i2c_schedule_pending_master i2c_schedule_pending_controller I2CPendingMasters I2CPendingControllers I2CPendingMaster I2CPendingController pending_masters pending_controllers I2C_SLAVE_CLASS I2C_TARGET_CLASS I2C_SLAVE_GET_CLASS I2C_TARGET_GET_CLASS I2CSlaveClass I2CTargetClass I2CSlave I2CTarget TYPE_I2C_SLAVE TYPE_I2C_TARGET I2C_SLAVE I2C_TARGET i2c_slave_new i2c_target_new i2c_slave_create_simple i2c_target_create_simple i2c_slave_realize_and_unref i2c_target_realize_and_unref i2c_slave_set_address i2c_target_set_address VMSTATE_I2C_SLAVE VMSTATE_I2C_TARGET vmstate_i2c_slave vmstate_i2c_target Note, the QOM type definition is not modified, TYPE_I2C_TARGET remains defined as "i2c-slave". [*] https://github.com/conscious-lang/conscious-lang-docs/blob/main/faq.md Inspired-by: Wolfram Sang Signed-off-by: Philippe Mathieu-Daudé --- include/hw/display/i2c-ddc.h | 2 +- include/hw/gpio/pca9552.h | 2 +- include/hw/gpio/pca9554.h | 2 +- include/hw/i2c/aspeed_i2c.h | 4 +- include/hw/i2c/i2c.h | 66 ++++----- include/hw/i2c/i2c_mux_pca954x.h | 2 +- include/hw/i2c/smbus_slave.h | 4 +- include/hw/nvram/eeprom_at24c.h | 4 +- include/hw/sensor/tmp105.h | 2 +- hw/arm/aspeed.c | 232 +++++++++++++++---------------- hw/arm/bananapi_m2u.c | 2 +- hw/arm/cubieboard.c | 2 +- hw/arm/musicpal.c | 6 +- hw/arm/npcm7xx_boards.c | 44 +++--- hw/arm/nseries.c | 6 +- hw/arm/pxa2xx.c | 36 ++--- hw/arm/realview.c | 2 +- hw/arm/spitz.c | 12 +- hw/arm/stellaris.c | 2 +- hw/arm/tosa.c | 14 +- hw/arm/versatilepb.c | 2 +- hw/arm/vexpress.c | 2 +- hw/arm/z2.c | 20 +-- hw/audio/wm8750.c | 18 +-- hw/display/ati.c | 4 +- hw/display/i2c-ddc.c | 10 +- hw/display/sii9022.c | 16 +-- hw/display/sm501.c | 2 +- hw/display/ssd0303.c | 14 +- hw/display/xlnx_dp.c | 2 +- hw/gpio/max7310.c | 14 +- hw/gpio/pca9552.c | 14 +- hw/gpio/pca9554.c | 14 +- hw/gpio/pcf8574.c | 12 +- hw/i2c/aspeed_i2c.c | 16 +-- hw/i2c/core.c | 88 ++++++------ hw/i2c/i2c_mux_pca954x.c | 6 +- hw/i2c/imx_i2c.c | 2 +- hw/i2c/smbus_slave.c | 12 +- hw/input/lm832x.c | 14 +- hw/misc/axp2xx.c | 14 +- hw/misc/i2c-echo.c | 14 +- hw/nvram/eeprom_at24c.c | 22 +-- hw/ppc/e500.c | 2 +- hw/ppc/pnv.c | 4 +- hw/ppc/sam460ex.c | 2 +- hw/rtc/ds1338.c | 14 +- hw/rtc/m41t80.c | 12 +- hw/rtc/twl92230.c | 16 +-- hw/sensor/dps310.c | 14 +- hw/sensor/emc141x.c | 16 +-- hw/sensor/lsm303dlhc_mag.c | 16 +-- hw/sensor/tmp105.c | 16 +-- hw/sensor/tmp421.c | 20 +-- hw/tpm/tpm_tis_i2c.c | 12 +- 55 files changed, 461 insertions(+), 461 deletions(-) diff --git a/include/hw/display/i2c-ddc.h b/include/hw/display/i2c-ddc.h index 94b5880587..faf3cd84fa 100644 --- a/include/hw/display/i2c-ddc.h +++ b/include/hw/display/i2c-ddc.h @@ -26,7 +26,7 @@ /* A simple I2C slave which just returns the contents of its EDID blob. */ struct I2CDDCState { /*< private >*/ - I2CSlave i2c; + I2CTarget i2c; /*< public >*/ bool firstbyte; uint8_t reg; diff --git a/include/hw/gpio/pca9552.h b/include/hw/gpio/pca9552.h index c36525f0c3..d7f07a44e0 100644 --- a/include/hw/gpio/pca9552.h +++ b/include/hw/gpio/pca9552.h @@ -23,7 +23,7 @@ DECLARE_INSTANCE_CHECKER(PCA955xState, PCA955X, struct PCA955xState { /*< private >*/ - I2CSlave i2c; + I2CTarget i2c; /*< public >*/ uint8_t len; diff --git a/include/hw/gpio/pca9554.h b/include/hw/gpio/pca9554.h index 54bfc4c4c7..0b528a0033 100644 --- a/include/hw/gpio/pca9554.h +++ b/include/hw/gpio/pca9554.h @@ -21,7 +21,7 @@ DECLARE_INSTANCE_CHECKER(PCA9554State, PCA9554, struct PCA9554State { /*< private >*/ - I2CSlave i2c; + I2CTarget i2c; /*< public >*/ uint8_t len; diff --git a/include/hw/i2c/aspeed_i2c.h b/include/hw/i2c/aspeed_i2c.h index a064479e59..d8fd179a69 100644 --- a/include/hw/i2c/aspeed_i2c.h +++ b/include/hw/i2c/aspeed_i2c.h @@ -236,7 +236,7 @@ struct AspeedI2CBus { struct AspeedI2CState *controller; /* slave mode */ - I2CSlave *slave; + I2CTarget *slave; MemoryRegion mr; @@ -267,7 +267,7 @@ struct AspeedI2CState { #define TYPE_ASPEED_I2C_BUS_SLAVE "aspeed.i2c.slave" OBJECT_DECLARE_SIMPLE_TYPE(AspeedI2CBusSlave, ASPEED_I2C_BUS_SLAVE) struct AspeedI2CBusSlave { - I2CSlave i2c; + I2CTarget i2c; }; struct AspeedI2CClass { diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h index a1b3f4d179..fa00098477 100644 --- a/include/hw/i2c/i2c.h +++ b/include/hw/i2c/i2c.h @@ -21,34 +21,34 @@ enum i2c_event { typedef struct I2CNodeList I2CNodeList; -#define TYPE_I2C_SLAVE "i2c-slave" -OBJECT_DECLARE_TYPE(I2CSlave, I2CSlaveClass, - I2C_SLAVE) +#define TYPE_I2C_TARGET "i2c-slave" +OBJECT_DECLARE_TYPE(I2CTarget, I2CTargetClass, + I2C_TARGET) -struct I2CSlaveClass { +struct I2CTargetClass { DeviceClass parent_class; /* Master to slave. Returns non-zero for a NAK, 0 for success. */ - int (*send)(I2CSlave *s, uint8_t data); + int (*send)(I2CTarget *s, uint8_t data); /* * Master to slave (asynchronous). * Receiving slave must call i2c_ack(). */ - void (*send_async)(I2CSlave *s, uint8_t data); + void (*send_async)(I2CTarget *s, uint8_t data); /* * Slave to master. This cannot fail, the device should always * return something here. */ - uint8_t (*recv)(I2CSlave *s); + uint8_t (*recv)(I2CTarget *s); /* * Notify the slave of a bus state change. For start event, * returns non-zero to NAK an operation. For other events the * return code is not used and should be zero. */ - int (*event)(I2CSlave *s, enum i2c_event event); + int (*event)(I2CTarget *s, enum i2c_event event); /* * Check if this device matches the address provided. Returns bool of @@ -57,11 +57,11 @@ struct I2CSlaveClass { * * If broadcast is true, match should add the device and return true. */ - bool (*match_and_add)(I2CSlave *candidate, uint8_t address, bool broadcast, + bool (*match_and_add)(I2CTarget *candidate, uint8_t address, bool broadcast, I2CNodeList *current_devs); }; -struct I2CSlave { +struct I2CTarget { DeviceState qdev; /* Remaining fields for internal use by the I2C code. */ @@ -74,25 +74,25 @@ OBJECT_DECLARE_SIMPLE_TYPE(I2CBus, I2C_BUS) typedef struct I2CNode I2CNode; struct I2CNode { - I2CSlave *elt; + I2CTarget *elt; QLIST_ENTRY(I2CNode) next; }; -typedef struct I2CPendingMaster I2CPendingMaster; +typedef struct I2CPendingController I2CPendingController; -struct I2CPendingMaster { +struct I2CPendingController { QEMUBH *bh; - QSIMPLEQ_ENTRY(I2CPendingMaster) entry; + QSIMPLEQ_ENTRY(I2CPendingController) entry; }; typedef QLIST_HEAD(I2CNodeList, I2CNode) I2CNodeList; -typedef QSIMPLEQ_HEAD(I2CPendingMasters, I2CPendingMaster) - I2CPendingMasters; +typedef QSIMPLEQ_HEAD(I2CPendingControllers, I2CPendingController) + I2CPendingControllers; struct I2CBus { BusState qbus; I2CNodeList current_devs; - I2CPendingMasters pending_masters; + I2CPendingControllers pending_controllers; uint8_t saved_address; bool broadcast; @@ -147,12 +147,12 @@ int i2c_start_send(I2CBus *bus, uint8_t address); */ int i2c_start_send_async(I2CBus *bus, uint8_t address); -void i2c_schedule_pending_master(I2CBus *bus); +void i2c_schedule_pending_controller(I2CBus *bus); void i2c_end_transfer(I2CBus *bus); void i2c_nack(I2CBus *bus); void i2c_ack(I2CBus *bus); -void i2c_bus_master(I2CBus *bus, QEMUBH *bh); +void i2c_bus_controller(I2CBus *bus, QEMUBH *bh); void i2c_bus_release(I2CBus *bus); int i2c_send(I2CBus *bus, uint8_t data); int i2c_send_async(I2CBus *bus, uint8_t data); @@ -169,7 +169,7 @@ bool i2c_scan_bus(I2CBus *bus, uint8_t address, bool broadcast, * properties to be set. Type @name must exist. The device still * needs to be realized. See qdev-core.h. */ -I2CSlave *i2c_slave_new(const char *name, uint8_t addr); +I2CTarget *i2c_target_new(const char *name, uint8_t addr); /** * Create and realize an I2C slave device on the heap. @@ -180,8 +180,8 @@ I2CSlave *i2c_slave_new(const char *name, uint8_t addr); * Create the device state structure, initialize it, put it on the * specified @bus, and drop the reference to it (the device is realized). */ -I2CSlave *i2c_slave_create_simple(I2CBus *bus, - const char *name, uint8_t addr); +I2CTarget *i2c_target_create_simple(I2CBus *bus, + const char *name, uint8_t addr); /** * Realize and drop a reference an I2C slave device @@ -196,10 +196,10 @@ I2CSlave *i2c_slave_create_simple(I2CBus *bus, * reference to it. * * This function is useful if you have created @dev via qdev_new(), - * i2c_slave_new() or i2c_slave_try_new() (which take a reference to + * i2c_target_new() or i2c_slave_try_new() (which take a reference to * the device it returns to you), so that you can set properties on it * before realizing it. If you don't need to set properties then - * i2c_slave_create_simple() is probably better (as it does the create, + * i2c_target_create_simple() is probably better (as it does the create, * init and realize in one step). * * If you are embedding the I2C slave into another QOM device and @@ -211,23 +211,23 @@ I2CSlave *i2c_slave_create_simple(I2CBus *bus, * which doesn't currently exist but would be trivial to create if we * had any code that wanted it.) */ -bool i2c_slave_realize_and_unref(I2CSlave *dev, I2CBus *bus, Error **errp); +bool i2c_target_realize_and_unref(I2CTarget *dev, I2CBus *bus, Error **errp); /** * Set the I2C bus address of a slave device * @dev: I2C slave device * @address: I2C address of the slave when put on a bus */ -void i2c_slave_set_address(I2CSlave *dev, uint8_t address); +void i2c_target_set_address(I2CTarget *dev, uint8_t address); -extern const VMStateDescription vmstate_i2c_slave; +extern const VMStateDescription vmstate_i2c_target; -#define VMSTATE_I2C_SLAVE(_field, _state) { \ - .name = (stringify(_field)), \ - .size = sizeof(I2CSlave), \ - .vmsd = &vmstate_i2c_slave, \ - .flags = VMS_STRUCT, \ - .offset = vmstate_offset_value(_state, _field, I2CSlave), \ +#define VMSTATE_I2C_TARGET(_field, _state) { \ + .name = (stringify(_field)), \ + .size = sizeof(I2CTarget), \ + .vmsd = &vmstate_i2c_target, \ + .flags = VMS_STRUCT, \ + .offset = vmstate_offset_value(_state, _field, I2CTarget), \ } #endif diff --git a/include/hw/i2c/i2c_mux_pca954x.h b/include/hw/i2c/i2c_mux_pca954x.h index 3dd25ec983..89f6179dd2 100644 --- a/include/hw/i2c/i2c_mux_pca954x.h +++ b/include/hw/i2c/i2c_mux_pca954x.h @@ -14,6 +14,6 @@ * * Returns: a pointer to the associated i2c bus. */ -I2CBus *pca954x_i2c_get_bus(I2CSlave *mux, uint8_t channel); +I2CBus *pca954x_i2c_get_bus(I2CTarget *mux, uint8_t channel); #endif diff --git a/include/hw/i2c/smbus_slave.h b/include/hw/i2c/smbus_slave.h index 86bfe0a79e..04f4dc4f22 100644 --- a/include/hw/i2c/smbus_slave.h +++ b/include/hw/i2c/smbus_slave.h @@ -34,7 +34,7 @@ OBJECT_DECLARE_TYPE(SMBusDevice, SMBusDeviceClass, struct SMBusDeviceClass { - I2CSlaveClass parent_class; + I2CTargetClass parent_class; /* * An operation with no data, special in SMBus. @@ -68,7 +68,7 @@ struct SMBusDeviceClass { struct SMBusDevice { /* The SMBus protocol is implemented on top of I2C. */ - I2CSlave i2c; + I2CTarget i2c; /* Remaining fields for internal use only. */ int32_t mode; diff --git a/include/hw/nvram/eeprom_at24c.h b/include/hw/nvram/eeprom_at24c.h index 9d29f0a69a..caf06e52c7 100644 --- a/include/hw/nvram/eeprom_at24c.h +++ b/include/hw/nvram/eeprom_at24c.h @@ -18,7 +18,7 @@ * Create the device state structure, initialize it, put it on the specified * @bus, and drop the reference to it (the device is realized). */ -I2CSlave *at24c_eeprom_init(I2CBus *bus, uint8_t address, uint32_t rom_size); +I2CTarget *at24c_eeprom_init(I2CBus *bus, uint8_t address, uint32_t rom_size); /* @@ -33,7 +33,7 @@ I2CSlave *at24c_eeprom_init(I2CBus *bus, uint8_t address, uint32_t rom_size); * @bus, and drop the reference to it (the device is realized). Copies the data * from @init_rom to the beginning of the EEPROM memory buffer. */ -I2CSlave *at24c_eeprom_init_rom(I2CBus *bus, +I2CTarget *at24c_eeprom_init_rom(I2CBus *bus, uint8_t address, uint32_t rom_size, const uint8_t *init_rom, uint32_t init_rom_size); diff --git a/include/hw/sensor/tmp105.h b/include/hw/sensor/tmp105.h index 244e2989fe..6034671fc4 100644 --- a/include/hw/sensor/tmp105.h +++ b/include/hw/sensor/tmp105.h @@ -30,7 +30,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(TMP105State, TMP105) */ struct TMP105State { /*< private >*/ - I2CSlave i2c; + I2CTarget i2c; /*< public >*/ uint8_t len; diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index 8279ad748a..d95d310b1a 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -459,13 +459,13 @@ static void palmetto_bmc_i2c_init(AspeedMachineState *bmc) /* The palmetto platform expects a ds3231 RTC but a ds1338 is * enough to provide basic RTC features. Alarms will be missing */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 0), "ds1338", 0x68); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 0), "ds1338", 0x68); smbus_eeprom_init_one(aspeed_i2c_get_bus(&soc->i2c, 0), 0x50, eeprom_buf); /* add a TMP423 temperature sensor */ - dev = DEVICE(i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), + dev = DEVICE(i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "tmp423", 0x4c)); object_property_set_int(OBJECT(dev), "temperature0", 31000, &error_abort); object_property_set_int(OBJECT(dev), "temperature1", 28000, &error_abort); @@ -481,21 +481,21 @@ static void quanta_q71l_bmc_i2c_init(AspeedMachineState *bmc) * The quanta-q71l platform expects tmp75s which are compatible with * tmp105s. */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4c); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4e); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4f); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4c); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4e); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4f); /* TODO: i2c-1: Add baseboard FRU eeprom@54 24c64 */ /* TODO: i2c-1: Add Frontpanel FRU eeprom@57 24c64 */ /* TODO: Add Memory Riser i2c mux and eeproms. */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "pca9546", 0x74); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "pca9548", 0x77); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "pca9546", 0x74); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "pca9548", 0x77); /* TODO: i2c-3: Add BIOS FRU eeprom@56 24c64 */ /* i2c-7 */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), "pca9546", 0x70); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), "pca9546", 0x70); /* - i2c@0: pmbus@59 */ /* - i2c@1: pmbus@58 */ /* - i2c@2: pmbus@58 */ @@ -514,7 +514,7 @@ static void ast2500_evb_i2c_init(AspeedMachineState *bmc) eeprom_buf); /* The AST2500 EVB expects a LM75 but a TMP105 is compatible */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), TYPE_TMP105, 0x4d); } @@ -527,7 +527,7 @@ static void ast2600_evb_i2c_init(AspeedMachineState *bmc) eeprom_buf); /* LM75 is compatible with TMP105 driver */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), TYPE_TMP105, 0x4d); } @@ -539,9 +539,9 @@ static void yosemitev2_bmc_i2c_init(AspeedMachineState *bmc) at24c_eeprom_init_rom(aspeed_i2c_get_bus(&soc->i2c, 8), 0x51, 128 * KiB, yosemitev2_bmc_fruid, yosemitev2_bmc_fruid_len); /* TMP421 */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), "tmp421", 0x1f); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "tmp421", 0x4e); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "tmp421", 0x4f); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), "tmp421", 0x1f); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "tmp421", 0x4e); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "tmp421", 0x4f); } @@ -551,7 +551,7 @@ static void romulus_bmc_i2c_init(AspeedMachineState *bmc) /* The romulus board expects Epson RX8900 I2C RTC but a ds1338 is * good enough */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), "ds1338", 0x32); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), "ds1338", 0x32); } static void tiogapass_bmc_i2c_init(AspeedMachineState *bmc) @@ -562,14 +562,14 @@ static void tiogapass_bmc_i2c_init(AspeedMachineState *bmc) at24c_eeprom_init_rom(aspeed_i2c_get_bus(&soc->i2c, 6), 0x54, 128 * KiB, tiogapass_bmc_fruid, tiogapass_bmc_fruid_len); /* TMP421 */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), "tmp421", 0x1f); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp421", 0x4f); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp421", 0x4e); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), "tmp421", 0x1f); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp421", 0x4f); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp421", 0x4e); } static void create_pca9552(AspeedSoCState *soc, int bus_id, int addr) { - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, bus_id), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, bus_id), TYPE_PCA9552, addr); } @@ -578,8 +578,8 @@ static void sonorapass_bmc_i2c_init(AspeedMachineState *bmc) AspeedSoCState *soc = bmc->soc; /* bus 2 : */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "tmp105", 0x48); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "tmp105", 0x49); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "tmp105", 0x48); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "tmp105", 0x49); /* bus 2 : pca9546 @ 0x73 */ /* bus 3 : pca9548 @ 0x70 */ @@ -594,8 +594,8 @@ static void sonorapass_bmc_i2c_init(AspeedMachineState *bmc) create_pca9552(soc, 4, 0x77); /* bus 6 : */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp105", 0x48); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp105", 0x49); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp105", 0x48); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp105", 0x49); /* bus 6 : pca9546 @ 0x73 */ /* bus 8 : */ @@ -635,9 +635,9 @@ static void witherspoon_bmc_i2c_init(AspeedMachineState *bmc) LEDState *led; /* Bus 3: TODO bmp280@77 */ - dev = DEVICE(i2c_slave_new(TYPE_PCA9552, 0x60)); + dev = DEVICE(i2c_target_new(TYPE_PCA9552, 0x60)); qdev_prop_set_string(dev, "description", "pca1"); - i2c_slave_realize_and_unref(I2C_SLAVE(dev), + i2c_target_realize_and_unref(I2C_SLAVE(dev), aspeed_i2c_get_bus(&soc->i2c, 3), &error_fatal); @@ -649,29 +649,29 @@ static void witherspoon_bmc_i2c_init(AspeedMachineState *bmc) qdev_connect_gpio_out(dev, pca1_leds[i].gpio_id, qdev_get_gpio_in(DEVICE(led), 0)); } - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 3), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 3), "dps310", 0x76); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 3), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 3), "max31785", 0x52); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), "tmp423", 0x4c); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 5), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 5), "tmp423", 0x4c); /* The Witherspoon expects a TMP275 but a TMP105 is compatible */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), TYPE_TMP105, 0x4a); /* The witherspoon board expects Epson RX8900 I2C RTC but a ds1338 is * good enough */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), "ds1338", 0x32); smbus_eeprom_init_one(aspeed_i2c_get_bus(&soc->i2c, 11), 0x51, eeprom_buf); - dev = DEVICE(i2c_slave_new(TYPE_PCA9552, 0x60)); + dev = DEVICE(i2c_target_new(TYPE_PCA9552, 0x60)); qdev_prop_set_string(dev, "description", "pca0"); - i2c_slave_realize_and_unref(I2C_SLAVE(dev), + i2c_target_realize_and_unref(I2C_SLAVE(dev), aspeed_i2c_get_bus(&soc->i2c, 11), &error_fatal); /* Bus 11: TODO ucd90160@64 */ @@ -682,19 +682,19 @@ static void g220a_bmc_i2c_init(AspeedMachineState *bmc) AspeedSoCState *soc = bmc->soc; DeviceState *dev; - dev = DEVICE(i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 3), + dev = DEVICE(i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 3), "emc1413", 0x4c)); object_property_set_int(OBJECT(dev), "temperature0", 31000, &error_abort); object_property_set_int(OBJECT(dev), "temperature1", 28000, &error_abort); object_property_set_int(OBJECT(dev), "temperature2", 20000, &error_abort); - dev = DEVICE(i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 12), + dev = DEVICE(i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 12), "emc1413", 0x4c)); object_property_set_int(OBJECT(dev), "temperature0", 31000, &error_abort); object_property_set_int(OBJECT(dev), "temperature1", 28000, &error_abort); object_property_set_int(OBJECT(dev), "temperature2", 20000, &error_abort); - dev = DEVICE(i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 13), + dev = DEVICE(i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 13), "emc1413", 0x4c)); object_property_set_int(OBJECT(dev), "temperature0", 31000, &error_abort); object_property_set_int(OBJECT(dev), "temperature1", 28000, &error_abort); @@ -716,25 +716,25 @@ static void g220a_bmc_i2c_init(AspeedMachineState *bmc) static void fp5280g2_bmc_i2c_init(AspeedMachineState *bmc) { AspeedSoCState *soc = bmc->soc; - I2CSlave *i2c_mux; + I2CTarget *i2c_mux; /* The at24c256 */ at24c_eeprom_init(aspeed_i2c_get_bus(&soc->i2c, 1), 0x50, 32768); /* The fp5280g2 expects a TMP112 but a TMP105 is compatible */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), TYPE_TMP105, 0x48); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), TYPE_TMP105, 0x49); - i2c_mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), + i2c_mux = i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 2), "pca9546", 0x70); /* It expects a TMP112 but a TMP105 is compatible */ - i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 0), + i2c_target_create_simple(pca954x_i2c_get_bus(i2c_mux, 0), TYPE_TMP105, 0x4a); /* It expects a ds3232 but a ds1338 is good enough */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), "ds1338", 0x68); /* It expects a pca9555 but a pca9552 is compatible */ @@ -744,44 +744,44 @@ static void fp5280g2_bmc_i2c_init(AspeedMachineState *bmc) static void rainier_bmc_i2c_init(AspeedMachineState *bmc) { AspeedSoCState *soc = bmc->soc; - I2CSlave *i2c_mux; + I2CTarget *i2c_mux; at24c_eeprom_init(aspeed_i2c_get_bus(&soc->i2c, 0), 0x51, 32 * KiB); create_pca9552(soc, 3, 0x61); /* The rainier expects a TMP275 but a TMP105 is compatible */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), TYPE_TMP105, 0x48); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), TYPE_TMP105, 0x49); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), TYPE_TMP105, 0x4a); - i2c_mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), + i2c_mux = i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 4), "pca9546", 0x70); at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 0), 0x50, 64 * KiB); at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 1), 0x51, 64 * KiB); at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 2), 0x52, 64 * KiB); create_pca9552(soc, 4, 0x60); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 5), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 5), TYPE_TMP105, 0x48); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 5), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 5), TYPE_TMP105, 0x49); create_pca9552(soc, 5, 0x60); create_pca9552(soc, 5, 0x61); - i2c_mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 5), + i2c_mux = i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 5), "pca9546", 0x70); at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 0), 0x50, 64 * KiB); at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 1), 0x51, 64 * KiB); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), TYPE_TMP105, 0x48); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), TYPE_TMP105, 0x4a); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), TYPE_TMP105, 0x4b); - i2c_mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), + i2c_mux = i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "pca9546", 0x70); at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 0), 0x50, 64 * KiB); at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 1), 0x51, 64 * KiB); @@ -794,19 +794,19 @@ static void rainier_bmc_i2c_init(AspeedMachineState *bmc) create_pca9552(soc, 7, 0x33); create_pca9552(soc, 7, 0x60); create_pca9552(soc, 7, 0x61); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), "dps310", 0x76); /* Bus 7: TODO si7021-a20@20 */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), TYPE_TMP105, 0x48); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), "max31785", 0x52); at24c_eeprom_init(aspeed_i2c_get_bus(&soc->i2c, 7), 0x50, 64 * KiB); at24c_eeprom_init(aspeed_i2c_get_bus(&soc->i2c, 7), 0x51, 64 * KiB); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), TYPE_TMP105, 0x48); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), TYPE_TMP105, 0x4a); at24c_eeprom_init_rom(aspeed_i2c_get_bus(&soc->i2c, 8), 0x50, 64 * KiB, rainier_bb_fruid, rainier_bb_fruid_len); @@ -818,23 +818,23 @@ static void rainier_bmc_i2c_init(AspeedMachineState *bmc) /* Bus 8: ucd90320@b */ /* Bus 8: ucd90320@c */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "tmp423", 0x4c); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "tmp423", 0x4d); at24c_eeprom_init(aspeed_i2c_get_bus(&soc->i2c, 9), 0x50, 128 * KiB); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 10), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 10), "tmp423", 0x4c); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 10), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 10), "tmp423", 0x4d); at24c_eeprom_init(aspeed_i2c_get_bus(&soc->i2c, 10), 0x50, 128 * KiB); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), TYPE_TMP105, 0x48); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), TYPE_TMP105, 0x49); - i2c_mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), + i2c_mux = i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), "pca9546", 0x70); at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 0), 0x50, 64 * KiB); at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 1), 0x51, 64 * KiB); @@ -854,7 +854,7 @@ static void rainier_bmc_i2c_init(AspeedMachineState *bmc) static void get_pca9548_channels(I2CBus *bus, uint8_t mux_addr, I2CBus **channels) { - I2CSlave *mux = i2c_slave_create_simple(bus, "pca9548", mux_addr); + I2CTarget *mux = i2c_target_create_simple(bus, "pca9548", mux_addr); for (int i = 0; i < 8; i++) { channels[i] = pca954x_i2c_get_bus(mux, i); } @@ -888,8 +888,8 @@ static void fuji_bmc_i2c_init(AspeedMachineState *bmc) get_pca9548_channels(i2c[40 + i], 0x76, &i2c[80 + i * 8]); } - i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4c); - i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4d); + i2c_target_create_simple(i2c[17], TYPE_LM75, 0x4c); + i2c_target_create_simple(i2c[17], TYPE_LM75, 0x4d); /* * EEPROM 24c64 size is 64Kbits or 8 Kbytes @@ -899,33 +899,33 @@ static void fuji_bmc_i2c_init(AspeedMachineState *bmc) at24c_eeprom_init(i2c[20], 0x50, 256); at24c_eeprom_init(i2c[22], 0x52, 256); - i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x48); - i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x49); - i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x4a); - i2c_slave_create_simple(i2c[3], TYPE_TMP422, 0x4c); + i2c_target_create_simple(i2c[3], TYPE_LM75, 0x48); + i2c_target_create_simple(i2c[3], TYPE_LM75, 0x49); + i2c_target_create_simple(i2c[3], TYPE_LM75, 0x4a); + i2c_target_create_simple(i2c[3], TYPE_TMP422, 0x4c); at24c_eeprom_init(i2c[8], 0x51, 8 * KiB); - i2c_slave_create_simple(i2c[8], TYPE_LM75, 0x4a); + i2c_target_create_simple(i2c[8], TYPE_LM75, 0x4a); - i2c_slave_create_simple(i2c[50], TYPE_LM75, 0x4c); + i2c_target_create_simple(i2c[50], TYPE_LM75, 0x4c); at24c_eeprom_init(i2c[50], 0x52, 8 * KiB); - i2c_slave_create_simple(i2c[51], TYPE_TMP75, 0x48); - i2c_slave_create_simple(i2c[52], TYPE_TMP75, 0x49); + i2c_target_create_simple(i2c[51], TYPE_TMP75, 0x48); + i2c_target_create_simple(i2c[52], TYPE_TMP75, 0x49); - i2c_slave_create_simple(i2c[59], TYPE_TMP75, 0x48); - i2c_slave_create_simple(i2c[60], TYPE_TMP75, 0x49); + i2c_target_create_simple(i2c[59], TYPE_TMP75, 0x48); + i2c_target_create_simple(i2c[60], TYPE_TMP75, 0x49); at24c_eeprom_init(i2c[65], 0x53, 8 * KiB); - i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x49); - i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x48); + i2c_target_create_simple(i2c[66], TYPE_TMP75, 0x49); + i2c_target_create_simple(i2c[66], TYPE_TMP75, 0x48); at24c_eeprom_init(i2c[68], 0x52, 8 * KiB); at24c_eeprom_init(i2c[69], 0x52, 8 * KiB); at24c_eeprom_init(i2c[70], 0x52, 8 * KiB); at24c_eeprom_init(i2c[71], 0x52, 8 * KiB); at24c_eeprom_init(i2c[73], 0x53, 8 * KiB); - i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x49); - i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x48); + i2c_target_create_simple(i2c[74], TYPE_TMP75, 0x49); + i2c_target_create_simple(i2c[74], TYPE_TMP75, 0x48); at24c_eeprom_init(i2c[76], 0x52, 8 * KiB); at24c_eeprom_init(i2c[77], 0x52, 8 * KiB); at24c_eeprom_init(i2c[78], 0x52, 8 * KiB); @@ -934,9 +934,9 @@ static void fuji_bmc_i2c_init(AspeedMachineState *bmc) for (int i = 0; i < 8; i++) { at24c_eeprom_init(i2c[81 + i * 8], 0x56, 64 * KiB); - i2c_slave_create_simple(i2c[82 + i * 8], TYPE_TMP75, 0x48); - i2c_slave_create_simple(i2c[83 + i * 8], TYPE_TMP75, 0x4b); - i2c_slave_create_simple(i2c[84 + i * 8], TYPE_TMP75, 0x4a); + i2c_target_create_simple(i2c[82 + i * 8], TYPE_TMP75, 0x48); + i2c_target_create_simple(i2c[83 + i * 8], TYPE_TMP75, 0x4b); + i2c_target_create_simple(i2c[84 + i * 8], TYPE_TMP75, 0x4a); } } @@ -957,35 +957,35 @@ static void bletchley_bmc_i2c_init(AspeedMachineState *bmc) for (int i = 0; i < 6; i++) { /* Missing model: ti,ina230 @ 0x45 */ /* Missing model: mps,mp5023 @ 0x40 */ - i2c_slave_create_simple(i2c[i], TYPE_TMP421, 0x4f); + i2c_target_create_simple(i2c[i], TYPE_TMP421, 0x4f); /* Missing model: nxp,pca9539 @ 0x76, but PCA9552 works enough */ - i2c_slave_create_simple(i2c[i], TYPE_PCA9552, 0x76); - i2c_slave_create_simple(i2c[i], TYPE_PCA9552, 0x67); + i2c_target_create_simple(i2c[i], TYPE_PCA9552, 0x76); + i2c_target_create_simple(i2c[i], TYPE_PCA9552, 0x67); /* Missing model: fsc,fusb302 @ 0x22 */ } /* Bus 6 */ at24c_eeprom_init(i2c[6], 0x56, 65536); /* Missing model: nxp,pcf85263 @ 0x51 , but ds1338 works enough */ - i2c_slave_create_simple(i2c[6], "ds1338", 0x51); + i2c_target_create_simple(i2c[6], "ds1338", 0x51); /* Bus 7 */ at24c_eeprom_init(i2c[7], 0x54, 65536); /* Bus 9 */ - i2c_slave_create_simple(i2c[9], TYPE_TMP421, 0x4f); + i2c_target_create_simple(i2c[9], TYPE_TMP421, 0x4f); /* Bus 10 */ - i2c_slave_create_simple(i2c[10], TYPE_TMP421, 0x4f); + i2c_target_create_simple(i2c[10], TYPE_TMP421, 0x4f); /* Missing model: ti,hdc1080 @ 0x40 */ - i2c_slave_create_simple(i2c[10], TYPE_PCA9552, 0x67); + i2c_target_create_simple(i2c[10], TYPE_PCA9552, 0x67); /* Bus 12 */ /* Missing model: adi,adm1278 @ 0x11 */ - i2c_slave_create_simple(i2c[12], TYPE_TMP421, 0x4c); - i2c_slave_create_simple(i2c[12], TYPE_TMP421, 0x4d); - i2c_slave_create_simple(i2c[12], TYPE_PCA9552, 0x67); + i2c_target_create_simple(i2c[12], TYPE_TMP421, 0x4c); + i2c_target_create_simple(i2c[12], TYPE_TMP421, 0x4d); + i2c_target_create_simple(i2c[12], TYPE_PCA9552, 0x67); } static void fby35_i2c_init(AspeedMachineState *bmc) @@ -997,12 +997,12 @@ static void fby35_i2c_init(AspeedMachineState *bmc) i2c[i] = aspeed_i2c_get_bus(&soc->i2c, i); } - i2c_slave_create_simple(i2c[2], TYPE_LM75, 0x4f); - i2c_slave_create_simple(i2c[8], TYPE_TMP421, 0x1f); + i2c_target_create_simple(i2c[2], TYPE_LM75, 0x4f); + i2c_target_create_simple(i2c[8], TYPE_TMP421, 0x1f); /* Hotswap controller is actually supposed to be mp5920 or ltc4282. */ - i2c_slave_create_simple(i2c[11], "adm1272", 0x44); - i2c_slave_create_simple(i2c[12], TYPE_LM75, 0x4e); - i2c_slave_create_simple(i2c[12], TYPE_LM75, 0x4f); + i2c_target_create_simple(i2c[11], "adm1272", 0x44); + i2c_target_create_simple(i2c[12], TYPE_LM75, 0x4e); + i2c_target_create_simple(i2c[12], TYPE_LM75, 0x4f); at24c_eeprom_init(i2c[4], 0x51, 128 * KiB); at24c_eeprom_init(i2c[6], 0x51, 128 * KiB); @@ -1024,14 +1024,14 @@ static void qcom_dc_scm_bmc_i2c_init(AspeedMachineState *bmc) { AspeedSoCState *soc = bmc->soc; - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 15), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 15), "tmp105", 0x4d); } static void qcom_dc_scm_firework_i2c_init(AspeedMachineState *bmc) { AspeedSoCState *soc = bmc->soc; - I2CSlave *therm_mux, *cpuvr_mux; + I2CTarget *therm_mux, *cpuvr_mux; /* Create the generic DC-SCM hardware */ qcom_dc_scm_bmc_i2c_init(bmc); @@ -1039,35 +1039,35 @@ static void qcom_dc_scm_firework_i2c_init(AspeedMachineState *bmc) /* Now create the Firework specific hardware */ /* I2C7 CPUVR MUX */ - cpuvr_mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), + cpuvr_mux = i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7), "pca9546", 0x70); - i2c_slave_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 0), + i2c_target_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 0), "pca9548", 0x72); - i2c_slave_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 1), + i2c_target_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 1), "pca9548", 0x72); - i2c_slave_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 2), + i2c_target_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 2), "pca9548", 0x72); - i2c_slave_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 3), + i2c_target_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 3), "pca9548", 0x72); /* I2C8 Thermal Diodes*/ - therm_mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), + therm_mux = i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), "pca9548", 0x70); - i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 0), + i2c_target_create_simple(pca954x_i2c_get_bus(therm_mux, 0), TYPE_LM75, 0x4C); - i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 1), + i2c_target_create_simple(pca954x_i2c_get_bus(therm_mux, 1), TYPE_LM75, 0x4C); - i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 2), + i2c_target_create_simple(pca954x_i2c_get_bus(therm_mux, 2), TYPE_LM75, 0x48); - i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 3), + i2c_target_create_simple(pca954x_i2c_get_bus(therm_mux, 3), TYPE_LM75, 0x48); - i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 4), + i2c_target_create_simple(pca954x_i2c_get_bus(therm_mux, 4), TYPE_LM75, 0x48); /* I2C9 Fan Controller (MAX31785) */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "max31785", 0x52); - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "max31785", 0x54); } @@ -1589,7 +1589,7 @@ static void ast1030_evb_i2c_init(AspeedMachineState *bmc) smbus_eeprom_init_one(aspeed_i2c_get_bus(&soc->i2c, 0), 0x50, eeprom_buf); /* U11 LM75 connects to SDA/SCL Group 2 by default */ - i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4d); + i2c_target_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4d); } static void aspeed_minibmc_machine_ast1030_evb_class_init(ObjectClass *oc, diff --git a/hw/arm/bananapi_m2u.c b/hw/arm/bananapi_m2u.c index 0a4b6f29b1..e53ba57d3f 100644 --- a/hw/arm/bananapi_m2u.c +++ b/hw/arm/bananapi_m2u.c @@ -113,7 +113,7 @@ static void bpim2u_init(MachineState *machine) /* Connect AXP221 */ i2c = I2C_BUS(qdev_get_child_bus(DEVICE(&r40->i2c0), "i2c")); - i2c_slave_create_simple(i2c, "axp221_pmu", 0x34); + i2c_target_create_simple(i2c, "axp221_pmu", 0x34); /* SDRAM */ memory_region_add_subregion(get_system_memory(), diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index b976727eef..82a2e2642b 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -80,7 +80,7 @@ static void cubieboard_init(MachineState *machine) /* Connect AXP 209 */ i2c = I2C_BUS(qdev_get_child_bus(DEVICE(&a10->i2c0), "i2c")); - i2c_slave_create_simple(i2c, "axp209_pmu", 0x34); + i2c_target_create_simple(i2c, "axp209_pmu", 0x34); /* Retrieve SD bus */ di = drive_get(IF_SD, 0, 0); diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index 2020f73a57..54e2385d96 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -1203,7 +1203,7 @@ static void musicpal_init(MachineState *machine) DeviceState *i2c_dev; DeviceState *lcd_dev; DeviceState *key_dev; - I2CSlave *wm8750_dev; + I2CTarget *wm8750_dev; SysBusDevice *s; I2CBus *i2c; int i; @@ -1316,11 +1316,11 @@ static void musicpal_init(MachineState *machine) qdev_connect_gpio_out(key_dev, i, qdev_get_gpio_in(dev, i + 15)); } - wm8750_dev = i2c_slave_new(TYPE_WM8750, MP_WM_ADDR); + wm8750_dev = i2c_target_new(TYPE_WM8750, MP_WM_ADDR); if (machine->audiodev) { qdev_prop_set_string(DEVICE(wm8750_dev), "audiodev", machine->audiodev); } - i2c_slave_realize_and_unref(wm8750_dev, i2c, &error_abort); + i2c_target_realize_and_unref(wm8750_dev, i2c, &error_abort); dev = qdev_new(TYPE_MV88W8618_AUDIO); s = SYS_BUS_DEVICE(dev); diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c index e229efb447..27fd8afa66 100644 --- a/hw/arm/npcm7xx_boards.c +++ b/hw/arm/npcm7xx_boards.c @@ -197,13 +197,13 @@ static void npcm7xx_connect_pwm_fan(NPCM7xxState *soc, SplitIRQ *splitter, static void npcm750_evb_i2c_init(NPCM7xxState *soc) { /* lm75 temperature sensor on SVB, tmp105 is compatible */ - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 0), "tmp105", 0x48); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 0), "tmp105", 0x48); /* lm75 temperature sensor on EB, tmp105 is compatible */ - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 1), "tmp105", 0x48); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 1), "tmp105", 0x48); /* tmp100 temperature sensor on EB, tmp105 is compatible */ - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 2), "tmp105", 0x48); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 2), "tmp105", 0x48); /* tmp100 temperature sensor on SVB, tmp105 is compatible */ - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 6), "tmp105", 0x48); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 6), "tmp105", 0x48); } static void npcm750_evb_fan_init(NPCM7xxMachine *machine, NPCM7xxState *soc) @@ -233,10 +233,10 @@ static void npcm750_evb_fan_init(NPCM7xxMachine *machine, NPCM7xxState *soc) static void quanta_gsj_i2c_init(NPCM7xxState *soc) { /* GSJ machine have 4 max31725 temperature sensors, tmp105 is compatible. */ - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 1), "tmp105", 0x5c); - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 2), "tmp105", 0x5c); - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 3), "tmp105", 0x5c); - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 4), "tmp105", 0x5c); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 1), "tmp105", 0x5c); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 2), "tmp105", 0x5c); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 3), "tmp105", 0x5c); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 4), "tmp105", 0x5c); at24c_eeprom_init(npcm7xx_i2c_get_bus(soc, 9), 0x55, 8192); at24c_eeprom_init(npcm7xx_i2c_get_bus(soc, 10), 0x55, 8192); @@ -252,7 +252,7 @@ static void quanta_gsj_i2c_init(NPCM7xxState *soc) * - ucd90160@6b */ - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 15), "pca9548", 0x75); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 15), "pca9548", 0x75); } static void quanta_gsj_fan_init(NPCM7xxMachine *machine, NPCM7xxState *soc) @@ -330,31 +330,31 @@ static void quanta_gbs_i2c_init(NPCM7xxState *soc) static void kudo_bmc_i2c_init(NPCM7xxState *soc) { - I2CSlave *i2c_mux; + I2CTarget *i2c_mux; - i2c_mux = i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 1), + i2c_mux = i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 1), TYPE_PCA9548, 0x75); /* tmp105 is compatible with the lm75 */ - i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 4), "tmp105", 0x5c); - i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 5), "tmp105", 0x5c); - i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 6), "tmp105", 0x5c); - i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 7), "tmp105", 0x5c); + i2c_target_create_simple(pca954x_i2c_get_bus(i2c_mux, 4), "tmp105", 0x5c); + i2c_target_create_simple(pca954x_i2c_get_bus(i2c_mux, 5), "tmp105", 0x5c); + i2c_target_create_simple(pca954x_i2c_get_bus(i2c_mux, 6), "tmp105", 0x5c); + i2c_target_create_simple(pca954x_i2c_get_bus(i2c_mux, 7), "tmp105", 0x5c); - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 1), TYPE_PCA9548, 0x77); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 1), TYPE_PCA9548, 0x77); - i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 4), TYPE_PCA9548, 0x77); + i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 4), TYPE_PCA9548, 0x77); at24c_eeprom_init(npcm7xx_i2c_get_bus(soc, 4), 0x50, 8192); /* mbfru */ - i2c_mux = i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 13), + i2c_mux = i2c_target_create_simple(npcm7xx_i2c_get_bus(soc, 13), TYPE_PCA9548, 0x77); /* tmp105 is compatible with the lm75 */ - i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 2), "tmp105", 0x48); - i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 3), "tmp105", 0x49); - i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 4), "tmp105", 0x48); - i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 5), "tmp105", 0x49); + i2c_target_create_simple(pca954x_i2c_get_bus(i2c_mux, 2), "tmp105", 0x48); + i2c_target_create_simple(pca954x_i2c_get_bus(i2c_mux, 3), "tmp105", 0x49); + i2c_target_create_simple(pca954x_i2c_get_bus(i2c_mux, 4), "tmp105", 0x48); + i2c_target_create_simple(pca954x_i2c_get_bus(i2c_mux, 5), "tmp105", 0x49); at24c_eeprom_init(npcm7xx_i2c_get_bus(soc, 14), 0x55, 8192); /* bmcfru */ diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c index 35364312c7..0f10bb5ade 100644 --- a/hw/arm/nseries.c +++ b/hw/arm/nseries.c @@ -218,7 +218,7 @@ static void n8x0_i2c_setup(struct n800_s *s) I2CBus *i2c = omap_i2c_bus(s->mpu->i2c[0]); /* Attach a menelaus PM chip */ - dev = DEVICE(i2c_slave_create_simple(i2c, "twl92230", N8X0_MENELAUS_ADDR)); + dev = DEVICE(i2c_target_create_simple(i2c, "twl92230", N8X0_MENELAUS_ADDR)); qdev_connect_gpio_out(dev, 3, qdev_get_gpio_in(s->mpu->ih[0], OMAP_INT_24XX_SYS_NIRQ)); @@ -227,7 +227,7 @@ static void n8x0_i2c_setup(struct n800_s *s) qemu_register_powerdown_notifier(&n8x0_system_powerdown_notifier); /* Attach a TMP105 PM chip (A0 wired to ground) */ - dev = DEVICE(i2c_slave_create_simple(i2c, TYPE_TMP105, N8X0_TMP105_ADDR)); + dev = DEVICE(i2c_target_create_simple(i2c, TYPE_TMP105, N8X0_TMP105_ADDR)); qdev_connect_gpio_out(dev, 0, tmp_irq); } @@ -419,7 +419,7 @@ static void n810_kbd_setup(struct n800_s *s) /* Attach the LM8322 keyboard to the I2C bus, * should happen in n8x0_i2c_setup and s->kbd be initialised here. */ - s->kbd = DEVICE(i2c_slave_create_simple(omap_i2c_bus(s->mpu->i2c[0]), + s->kbd = DEVICE(i2c_target_create_simple(omap_i2c_bus(s->mpu->i2c[0]), TYPE_LM8323, N810_LM8323_ADDR)); qdev_connect_gpio_out(s->kbd, 0, kbd_irq); } diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c index 6b2e54473b..3b658680ac 100644 --- a/hw/arm/pxa2xx.c +++ b/hw/arm/pxa2xx.c @@ -1243,10 +1243,10 @@ static const TypeInfo pxa2xx_rtc_sysbus_info = { /* I2C Interface */ #define TYPE_PXA2XX_I2C_SLAVE "pxa2xx-i2c-slave" -OBJECT_DECLARE_SIMPLE_TYPE(PXA2xxI2CSlaveState, PXA2XX_I2C_SLAVE) +OBJECT_DECLARE_SIMPLE_TYPE(PXA2xxI2CTargetState, PXA2XX_I2C_SLAVE) -struct PXA2xxI2CSlaveState { - I2CSlave parent_obj; +struct PXA2xxI2CTargetState { + I2CTarget parent_obj; PXA2xxI2CState *host; }; @@ -1257,7 +1257,7 @@ struct PXA2xxI2CState { /*< public >*/ MemoryRegion iomem; - PXA2xxI2CSlaveState *slave; + PXA2xxI2CTargetState *slave; I2CBus *bus; qemu_irq irq; uint32_t offset; @@ -1286,9 +1286,9 @@ static void pxa2xx_i2c_update(PXA2xxI2CState *s) } /* These are only stubs now. */ -static int pxa2xx_i2c_event(I2CSlave *i2c, enum i2c_event event) +static int pxa2xx_i2c_event(I2CTarget *i2c, enum i2c_event event) { - PXA2xxI2CSlaveState *slave = PXA2XX_I2C_SLAVE(i2c); + PXA2xxI2CTargetState *slave = PXA2XX_I2C_SLAVE(i2c); PXA2xxI2CState *s = slave->host; switch (event) { @@ -1314,9 +1314,9 @@ static int pxa2xx_i2c_event(I2CSlave *i2c, enum i2c_event event) return 0; } -static uint8_t pxa2xx_i2c_rx(I2CSlave *i2c) +static uint8_t pxa2xx_i2c_rx(I2CTarget *i2c) { - PXA2xxI2CSlaveState *slave = PXA2XX_I2C_SLAVE(i2c); + PXA2xxI2CTargetState *slave = PXA2XX_I2C_SLAVE(i2c); PXA2xxI2CState *s = slave->host; if ((s->control & (1 << 14)) || !(s->control & (1 << 6))) { @@ -1331,9 +1331,9 @@ static uint8_t pxa2xx_i2c_rx(I2CSlave *i2c) return s->data; } -static int pxa2xx_i2c_tx(I2CSlave *i2c, uint8_t data) +static int pxa2xx_i2c_tx(I2CTarget *i2c, uint8_t data) { - PXA2xxI2CSlaveState *slave = PXA2XX_I2C_SLAVE(i2c); + PXA2xxI2CTargetState *slave = PXA2XX_I2C_SLAVE(i2c); PXA2xxI2CState *s = slave->host; if ((s->control & (1 << 14)) || !(s->control & (1 << 6))) { @@ -1353,7 +1353,7 @@ static uint64_t pxa2xx_i2c_read(void *opaque, hwaddr addr, unsigned size) { PXA2xxI2CState *s = (PXA2xxI2CState *) opaque; - I2CSlave *slave; + I2CTarget *slave; addr -= s->offset; switch (addr) { @@ -1440,7 +1440,7 @@ static void pxa2xx_i2c_write(void *opaque, hwaddr addr, break; case ISAR: - i2c_slave_set_address(I2C_SLAVE(s->slave), value & 0x7f); + i2c_target_set_address(I2C_SLAVE(s->slave), value & 0x7f); break; case IDBR: @@ -1465,7 +1465,7 @@ static const VMStateDescription vmstate_pxa2xx_i2c_slave = { .version_id = 1, .minimum_version_id = 1, .fields = (const VMStateField[]) { - VMSTATE_I2C_SLAVE(parent_obj, PXA2xxI2CSlaveState), + VMSTATE_I2C_TARGET(parent_obj, PXA2xxI2CTargetState), VMSTATE_END_OF_LIST() } }; @@ -1480,14 +1480,14 @@ static const VMStateDescription vmstate_pxa2xx_i2c = { VMSTATE_UINT8(ibmr, PXA2xxI2CState), VMSTATE_UINT8(data, PXA2xxI2CState), VMSTATE_STRUCT_POINTER(slave, PXA2xxI2CState, - vmstate_pxa2xx_i2c_slave, PXA2xxI2CSlaveState), + vmstate_pxa2xx_i2c_slave, PXA2xxI2CTargetState), VMSTATE_END_OF_LIST() } }; static void pxa2xx_i2c_slave_class_init(ObjectClass *klass, void *data) { - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); k->event = pxa2xx_i2c_event; k->recv = pxa2xx_i2c_rx; @@ -1496,8 +1496,8 @@ static void pxa2xx_i2c_slave_class_init(ObjectClass *klass, void *data) static const TypeInfo pxa2xx_i2c_slave_info = { .name = TYPE_PXA2XX_I2C_SLAVE, - .parent = TYPE_I2C_SLAVE, - .instance_size = sizeof(PXA2xxI2CSlaveState), + .parent = TYPE_I2C_TARGET, + .instance_size = sizeof(PXA2xxI2CTargetState), .class_init = pxa2xx_i2c_slave_class_init, }; @@ -1522,7 +1522,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base, sysbus_connect_irq(i2c_dev, 0, irq); s = PXA2XX_I2C(i2c_dev); - s->slave = PXA2XX_I2C_SLAVE(i2c_slave_create_simple(i2cbus, + s->slave = PXA2XX_I2C_SLAVE(i2c_target_create_simple(i2cbus, TYPE_PXA2XX_I2C_SLAVE, 0)); s->slave->host = s; diff --git a/hw/arm/realview.c b/hw/arm/realview.c index b186f965c6..dc18ce8d23 100644 --- a/hw/arm/realview.c +++ b/hw/arm/realview.c @@ -314,7 +314,7 @@ static void realview_init(MachineState *machine, dev = sysbus_create_simple(TYPE_ARM_SBCON_I2C, 0x10002000, NULL); i2c = (I2CBus *)qdev_get_child_bus(dev, "i2c"); - i2c_slave_create_simple(i2c, "ds1338", 0x68); + i2c_target_create_simple(i2c, "ds1338", 0x68); /* Memory map for RealView Emulation Baseboard: */ /* 0x10000000 System registers. */ diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c index 62cd55ba91..1fe466bab9 100644 --- a/hw/arm/spitz.c +++ b/hw/arm/spitz.c @@ -767,11 +767,11 @@ static void spitz_microdrive_attach(PXA2xxState *cpu, int slot) static void spitz_wm8750_addr(void *opaque, int line, int level) { - I2CSlave *wm = (I2CSlave *) opaque; + I2CTarget *wm = (I2CTarget *) opaque; if (level) - i2c_slave_set_address(wm, SPITZ_WM_ADDRH); + i2c_target_set_address(wm, SPITZ_WM_ADDRH); else - i2c_slave_set_address(wm, SPITZ_WM_ADDRL); + i2c_target_set_address(wm, SPITZ_WM_ADDRL); } static void spitz_i2c_setup(MachineState *machine, PXA2xxState *cpu) @@ -780,13 +780,13 @@ static void spitz_i2c_setup(MachineState *machine, PXA2xxState *cpu) I2CBus *bus = pxa2xx_i2c_bus(cpu->i2c[0]); /* Attach a WM8750 to the bus */ - I2CSlave *i2c_dev = i2c_slave_new(TYPE_WM8750, 0); + I2CTarget *i2c_dev = i2c_target_new(TYPE_WM8750, 0); DeviceState *wm = DEVICE(i2c_dev); if (machine->audiodev) { qdev_prop_set_string(wm, "audiodev", machine->audiodev); } - i2c_slave_realize_and_unref(i2c_dev, bus, &error_abort); + i2c_target_realize_and_unref(i2c_dev, bus, &error_abort); spitz_wm8750_addr(wm, 0, 0); qdev_connect_gpio_out(cpu->gpio, SPITZ_GPIO_WM, @@ -801,7 +801,7 @@ static void spitz_i2c_setup(MachineState *machine, PXA2xxState *cpu) static void spitz_akita_i2c_setup(PXA2xxState *cpu) { /* Attach a Max7310 to Akita I2C bus. */ - i2c_slave_create_simple(pxa2xx_i2c_bus(cpu->i2c[0]), "max7310", + i2c_target_create_simple(pxa2xx_i2c_bus(cpu->i2c[0]), "max7310", AKITA_MAX_ADDR); } diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c index a2f998bf9e..7246bcc560 100644 --- a/hw/arm/stellaris.c +++ b/hw/arm/stellaris.c @@ -1176,7 +1176,7 @@ static void stellaris_init(MachineState *ms, stellaris_board_info *board) qdev_get_gpio_in(nvic, 8)); i2c = (I2CBus *)qdev_get_child_bus(dev, "i2c"); if (board->peripherals & BP_OLED_I2C) { - i2c_slave_create_simple(i2c, "ssd0303", 0x3d); + i2c_target_create_simple(i2c, "ssd0303", 0x3d); } } diff --git a/hw/arm/tosa.c b/hw/arm/tosa.c index 5891f6064f..8529a57ef7 100644 --- a/hw/arm/tosa.c +++ b/hw/arm/tosa.c @@ -163,13 +163,13 @@ static void tosa_ssp_realize(SSIPeripheral *dev, Error **errp) OBJECT_DECLARE_SIMPLE_TYPE(TosaDACState, TOSA_DAC) struct TosaDACState { - I2CSlave parent_obj; + I2CTarget parent_obj; int len; char buf[3]; }; -static int tosa_dac_send(I2CSlave *i2c, uint8_t data) +static int tosa_dac_send(I2CTarget *i2c, uint8_t data) { TosaDACState *s = TOSA_DAC(i2c); @@ -189,7 +189,7 @@ static int tosa_dac_send(I2CSlave *i2c, uint8_t data) return 0; } -static int tosa_dac_event(I2CSlave *i2c, enum i2c_event event) +static int tosa_dac_event(I2CTarget *i2c, enum i2c_event event) { TosaDACState *s = TOSA_DAC(i2c); @@ -215,7 +215,7 @@ static int tosa_dac_event(I2CSlave *i2c, enum i2c_event event) return 0; } -static uint8_t tosa_dac_recv(I2CSlave *s) +static uint8_t tosa_dac_recv(I2CTarget *s) { printf("%s: recv not supported!!!\n", __func__); return 0xff; @@ -224,7 +224,7 @@ static uint8_t tosa_dac_recv(I2CSlave *s) static void tosa_tg_init(PXA2xxState *cpu) { I2CBus *bus = pxa2xx_i2c_bus(cpu->i2c[0]); - i2c_slave_create_simple(bus, TYPE_TOSA_DAC, DAC_BASE); + i2c_target_create_simple(bus, TYPE_TOSA_DAC, DAC_BASE); ssi_create_peripheral(cpu->ssp[1], "tosa-ssp"); } @@ -277,7 +277,7 @@ DEFINE_MACHINE("tosa", tosapda_machine_init) static void tosa_dac_class_init(ObjectClass *klass, void *data) { - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); k->event = tosa_dac_event; k->recv = tosa_dac_recv; @@ -286,7 +286,7 @@ static void tosa_dac_class_init(ObjectClass *klass, void *data) static const TypeInfo tosa_dac_info = { .name = TYPE_TOSA_DAC, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(TosaDACState), .class_init = tosa_dac_class_init, }; diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c index d48235453e..73d8047ca8 100644 --- a/hw/arm/versatilepb.c +++ b/hw/arm/versatilepb.c @@ -338,7 +338,7 @@ static void versatile_init(MachineState *machine, int board_id) dev = sysbus_create_simple(TYPE_ARM_SBCON_I2C, 0x10002000, NULL); i2c = (I2CBus *)qdev_get_child_bus(dev, "i2c"); - i2c_slave_create_simple(i2c, "ds1338", 0x68); + i2c_target_create_simple(i2c, "ds1338", 0x68); /* Add PL041 AACI Interface to the LM4549 codec */ pl041 = qdev_new("pl041"); diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index de815d84cc..355905e0b7 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -650,7 +650,7 @@ static void vexpress_common_init(MachineState *machine) dev = sysbus_create_simple(TYPE_ARM_SBCON_I2C, map[VE_SERIALDVI], NULL); i2c = (I2CBus *)qdev_get_child_bus(dev, "i2c"); - i2c_slave_create_simple(i2c, "sii9022", 0x39); + i2c_target_create_simple(i2c, "sii9022", 0x39); sysbus_create_simple("pl031", map[VE_RTC], pic[4]); /* RTC */ diff --git a/hw/arm/z2.c b/hw/arm/z2.c index fc5672e7ab..24bc303f06 100644 --- a/hw/arm/z2.c +++ b/hw/arm/z2.c @@ -192,13 +192,13 @@ static const TypeInfo zipit_lcd_info = { OBJECT_DECLARE_SIMPLE_TYPE(AER915State, AER915) struct AER915State { - I2CSlave parent_obj; + I2CTarget parent_obj; int len; uint8_t buf[3]; }; -static int aer915_send(I2CSlave *i2c, uint8_t data) +static int aer915_send(I2CTarget *i2c, uint8_t data) { AER915State *s = AER915(i2c); @@ -215,7 +215,7 @@ static int aer915_send(I2CSlave *i2c, uint8_t data) return 0; } -static int aer915_event(I2CSlave *i2c, enum i2c_event event) +static int aer915_event(I2CTarget *i2c, enum i2c_event event) { AER915State *s = AER915(i2c); @@ -235,7 +235,7 @@ static int aer915_event(I2CSlave *i2c, enum i2c_event event) return 0; } -static uint8_t aer915_recv(I2CSlave *slave) +static uint8_t aer915_recv(I2CTarget *slave) { AER915State *s = AER915(slave); int retval = 0x00; @@ -272,7 +272,7 @@ static const VMStateDescription vmstate_aer915_state = { static void aer915_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); k->event = aer915_event; k->recv = aer915_recv; @@ -282,7 +282,7 @@ static void aer915_class_init(ObjectClass *klass, void *data) static const TypeInfo aer915_info = { .name = TYPE_AER915, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(AER915State), .class_init = aer915_class_init, }; @@ -296,7 +296,7 @@ static void z2_init(MachineState *machine) void *z2_lcd; I2CBus *bus; DeviceState *wm; - I2CSlave *i2c_dev; + I2CTarget *i2c_dev; /* Setup CPU & memory */ mpu = pxa270_init(z2_binfo.ram_size, machine->cpu_type); @@ -319,15 +319,15 @@ static void z2_init(MachineState *machine) z2_lcd = ssi_create_peripheral(mpu->ssp[1], TYPE_ZIPIT_LCD); bus = pxa2xx_i2c_bus(mpu->i2c[0]); - i2c_slave_create_simple(bus, TYPE_AER915, 0x55); + i2c_target_create_simple(bus, TYPE_AER915, 0x55); - i2c_dev = i2c_slave_new(TYPE_WM8750, 0x1b); + i2c_dev = i2c_target_new(TYPE_WM8750, 0x1b); wm = DEVICE(i2c_dev); if (machine->audiodev) { qdev_prop_set_string(wm, "audiodev", machine->audiodev); } - i2c_slave_realize_and_unref(i2c_dev, bus, &error_abort); + i2c_target_realize_and_unref(i2c_dev, bus, &error_abort); mpu->i2s->opaque = wm; mpu->i2s->codec_out = wm8750_dac_dat; diff --git a/hw/audio/wm8750.c b/hw/audio/wm8750.c index ec2c4e1374..6e2da41419 100644 --- a/hw/audio/wm8750.c +++ b/hw/audio/wm8750.c @@ -30,7 +30,7 @@ typedef struct { OBJECT_DECLARE_SIMPLE_TYPE(WM8750State, WM8750) struct WM8750State { - I2CSlave parent_obj; + I2CTarget parent_obj; uint8_t i2c_data[2]; int i2c_len; @@ -261,7 +261,7 @@ static void wm8750_clk_update(WM8750State *s, int ext) } } -static void wm8750_reset(I2CSlave *i2c) +static void wm8750_reset(I2CTarget *i2c) { WM8750State *s = WM8750(i2c); @@ -305,7 +305,7 @@ static void wm8750_reset(I2CSlave *i2c) s->i2c_len = 0; } -static int wm8750_event(I2CSlave *i2c, enum i2c_event event) +static int wm8750_event(I2CTarget *i2c, enum i2c_event event) { WM8750State *s = WM8750(i2c); @@ -364,7 +364,7 @@ static int wm8750_event(I2CSlave *i2c, enum i2c_event event) #define WM8750_ROUT2V 0x29 #define WM8750_MOUTV 0x2a -static int wm8750_tx(I2CSlave *i2c, uint8_t data) +static int wm8750_tx(I2CTarget *i2c, uint8_t data) { WM8750State *s = WM8750(i2c); uint8_t cmd; @@ -564,7 +564,7 @@ static int wm8750_tx(I2CSlave *i2c, uint8_t data) return 0; } -static uint8_t wm8750_rx(I2CSlave *i2c) +static uint8_t wm8750_rx(I2CTarget *i2c) { return 0x00; } @@ -615,7 +615,7 @@ static const VMStateDescription vmstate_wm8750 = { VMSTATE_UINT8(format, WM8750State), VMSTATE_UINT8(power, WM8750State), VMSTATE_UINT8(rate_vmstate, WM8750State), - VMSTATE_I2C_SLAVE(parent_obj, WM8750State), + VMSTATE_I2C_TARGET(parent_obj, WM8750State), VMSTATE_END_OF_LIST() } }; @@ -632,7 +632,7 @@ static void wm8750_realize(DeviceState *dev, Error **errp) } #if 0 -static void wm8750_fini(I2CSlave *i2c) +static void wm8750_fini(I2CTarget *i2c) { WM8750State *s = WM8750(i2c); @@ -714,7 +714,7 @@ static Property wm8750_properties[] = { static void wm8750_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *sc = I2C_SLAVE_CLASS(klass); + I2CTargetClass *sc = I2C_TARGET_CLASS(klass); dc->realize = wm8750_realize; sc->event = wm8750_event; @@ -726,7 +726,7 @@ static void wm8750_class_init(ObjectClass *klass, void *data) static const TypeInfo wm8750_info = { .name = TYPE_WM8750, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(WM8750State), .class_init = wm8750_class_init, }; diff --git a/hw/display/ati.c b/hw/display/ati.c index 8d2501bd82..3341ef7800 100644 --- a/hw/display/ati.c +++ b/hw/display/ati.c @@ -1000,8 +1000,8 @@ static void ati_vga_realize(PCIDevice *dev, Error **errp) /* ddc, edid */ I2CBus *i2cbus = i2c_init_bus(DEVICE(s), "ati-vga.ddc"); bitbang_i2c_init(&s->bbi2c, i2cbus); - I2CSlave *i2cddc = I2C_SLAVE(qdev_new(TYPE_I2CDDC)); - i2c_slave_set_address(i2cddc, 0x50); + I2CTarget *i2cddc = I2C_SLAVE(qdev_new(TYPE_I2CDDC)); + i2c_target_set_address(i2cddc, 0x50); qdev_realize_and_unref(DEVICE(i2cddc), BUS(i2cbus), &error_abort); /* mmio register space */ diff --git a/hw/display/i2c-ddc.c b/hw/display/i2c-ddc.c index 3f9d1e1f6f..66107b5b31 100644 --- a/hw/display/i2c-ddc.c +++ b/hw/display/i2c-ddc.c @@ -42,7 +42,7 @@ static void i2c_ddc_reset(DeviceState *ds) s->reg = 0; } -static int i2c_ddc_event(I2CSlave *i2c, enum i2c_event event) +static int i2c_ddc_event(I2CTarget *i2c, enum i2c_event event) { I2CDDCState *s = I2CDDC(i2c); @@ -53,7 +53,7 @@ static int i2c_ddc_event(I2CSlave *i2c, enum i2c_event event) return 0; } -static uint8_t i2c_ddc_rx(I2CSlave *i2c) +static uint8_t i2c_ddc_rx(I2CTarget *i2c) { I2CDDCState *s = I2CDDC(i2c); @@ -63,7 +63,7 @@ static uint8_t i2c_ddc_rx(I2CSlave *i2c) return value; } -static int i2c_ddc_tx(I2CSlave *i2c, uint8_t data) +static int i2c_ddc_tx(I2CTarget *i2c, uint8_t data) { I2CDDCState *s = I2CDDC(i2c); if (s->firstbyte) { @@ -103,7 +103,7 @@ static Property i2c_ddc_properties[] = { static void i2c_ddc_class_init(ObjectClass *oc, void *data) { DeviceClass *dc = DEVICE_CLASS(oc); - I2CSlaveClass *isc = I2C_SLAVE_CLASS(oc); + I2CTargetClass *isc = I2C_TARGET_CLASS(oc); dc->reset = i2c_ddc_reset; dc->vmsd = &vmstate_i2c_ddc; @@ -115,7 +115,7 @@ static void i2c_ddc_class_init(ObjectClass *oc, void *data) static const TypeInfo i2c_ddc_info = { .name = TYPE_I2CDDC, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(I2CDDCState), .instance_init = i2c_ddc_init, .class_init = i2c_ddc_class_init diff --git a/hw/display/sii9022.c b/hw/display/sii9022.c index 60c3f78549..095fd862dd 100644 --- a/hw/display/sii9022.c +++ b/hw/display/sii9022.c @@ -39,7 +39,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(sii9022_state, SII9022) struct sii9022_state { - I2CSlave parent_obj; + I2CTarget parent_obj; uint8_t ptr; bool addr_byte; bool ddc_req; @@ -52,7 +52,7 @@ static const VMStateDescription vmstate_sii9022 = { .version_id = 1, .minimum_version_id = 1, .fields = (const VMStateField[]) { - VMSTATE_I2C_SLAVE(parent_obj, sii9022_state), + VMSTATE_I2C_TARGET(parent_obj, sii9022_state), VMSTATE_UINT8(ptr, sii9022_state), VMSTATE_BOOL(addr_byte, sii9022_state), VMSTATE_BOOL(ddc_req, sii9022_state), @@ -62,7 +62,7 @@ static const VMStateDescription vmstate_sii9022 = { } }; -static int sii9022_event(I2CSlave *i2c, enum i2c_event event) +static int sii9022_event(I2CTarget *i2c, enum i2c_event event) { sii9022_state *s = SII9022(i2c); @@ -83,7 +83,7 @@ static int sii9022_event(I2CSlave *i2c, enum i2c_event event) return 0; } -static uint8_t sii9022_rx(I2CSlave *i2c) +static uint8_t sii9022_rx(I2CTarget *i2c) { sii9022_state *s = SII9022(i2c); uint8_t res = 0x00; @@ -112,7 +112,7 @@ static uint8_t sii9022_rx(I2CSlave *i2c) return res; } -static int sii9022_tx(I2CSlave *i2c, uint8_t data) +static int sii9022_tx(I2CTarget *i2c, uint8_t data) { sii9022_state *s = SII9022(i2c); @@ -164,13 +164,13 @@ static void sii9022_realize(DeviceState *dev, Error **errp) I2CBus *bus; bus = I2C_BUS(qdev_get_parent_bus(dev)); - i2c_slave_create_simple(bus, TYPE_I2CDDC, 0x50); + i2c_target_create_simple(bus, TYPE_I2CDDC, 0x50); } static void sii9022_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); k->event = sii9022_event; k->recv = sii9022_rx; @@ -182,7 +182,7 @@ static void sii9022_class_init(ObjectClass *klass, void *data) static const TypeInfo sii9022_info = { .name = TYPE_SII9022, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(sii9022_state), .class_init = sii9022_class_init, }; diff --git a/hw/display/sm501.c b/hw/display/sm501.c index 26dc8170d8..a549c9149f 100644 --- a/hw/display/sm501.c +++ b/hw/display/sm501.c @@ -1908,7 +1908,7 @@ static void sm501_init(SM501State *s, DeviceState *dev, s->i2c_bus = i2c_init_bus(dev, "sm501.i2c"); /* ddc */ I2CDDCState *ddc = I2CDDC(qdev_new(TYPE_I2CDDC)); - i2c_slave_set_address(I2C_SLAVE(ddc), 0x50); + i2c_target_set_address(I2C_SLAVE(ddc), 0x50); qdev_realize_and_unref(DEVICE(ddc), BUS(s->i2c_bus), &error_abort); /* mmio */ diff --git a/hw/display/ssd0303.c b/hw/display/ssd0303.c index e292cff44e..45d789d23e 100644 --- a/hw/display/ssd0303.c +++ b/hw/display/ssd0303.c @@ -50,7 +50,7 @@ enum ssd0303_cmd { OBJECT_DECLARE_SIMPLE_TYPE(ssd0303_state, SSD0303) struct ssd0303_state { - I2CSlave parent_obj; + I2CTarget parent_obj; QemuConsole *con; int row; @@ -66,13 +66,13 @@ struct ssd0303_state { uint8_t framebuffer[132*8]; }; -static uint8_t ssd0303_recv(I2CSlave *i2c) +static uint8_t ssd0303_recv(I2CTarget *i2c) { BADF("Reads not implemented\n"); return 0xff; } -static int ssd0303_send(I2CSlave *i2c, uint8_t data) +static int ssd0303_send(I2CTarget *i2c, uint8_t data) { ssd0303_state *s = SSD0303(i2c); enum ssd0303_cmd old_cmd_state; @@ -183,7 +183,7 @@ static int ssd0303_send(I2CSlave *i2c, uint8_t data) return 0; } -static int ssd0303_event(I2CSlave *i2c, enum i2c_event event) +static int ssd0303_event(I2CTarget *i2c, enum i2c_event event) { ssd0303_state *s = SSD0303(i2c); @@ -293,7 +293,7 @@ static const VMStateDescription vmstate_ssd0303 = { VMSTATE_UINT32(mode, ssd0303_state), VMSTATE_UINT32(cmd_state, ssd0303_state), VMSTATE_BUFFER(framebuffer, ssd0303_state), - VMSTATE_I2C_SLAVE(parent_obj, ssd0303_state), + VMSTATE_I2C_TARGET(parent_obj, ssd0303_state), VMSTATE_END_OF_LIST() } }; @@ -314,7 +314,7 @@ static void ssd0303_realize(DeviceState *dev, Error **errp) static void ssd0303_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); dc->realize = ssd0303_realize; k->event = ssd0303_event; @@ -325,7 +325,7 @@ static void ssd0303_class_init(ObjectClass *klass, void *data) static const TypeInfo ssd0303_info = { .name = TYPE_SSD0303, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(ssd0303_state), .class_init = ssd0303_class_init, }; diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c index c42fc388dc..fd1cc371d3 100644 --- a/hw/display/xlnx_dp.c +++ b/hw/display/xlnx_dp.c @@ -1273,7 +1273,7 @@ static void xlnx_dp_init(Object *obj) object_property_add_child(OBJECT(s), "dpcd", OBJECT(s->dpcd)); s->edid = I2CDDC(qdev_new("i2c-ddc")); - i2c_slave_set_address(I2C_SLAVE(s->edid), 0x50); + i2c_target_set_address(I2C_SLAVE(s->edid), 0x50); object_property_add_child(OBJECT(s), "edid", OBJECT(s->edid)); fifo8_create(&s->rx_fifo, 16); diff --git a/hw/gpio/max7310.c b/hw/gpio/max7310.c index 86315714fb..e911647812 100644 --- a/hw/gpio/max7310.c +++ b/hw/gpio/max7310.c @@ -19,7 +19,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(MAX7310State, MAX7310) struct MAX7310State { - I2CSlave parent_obj; + I2CTarget parent_obj; int i2c_command_byte; int len; @@ -44,7 +44,7 @@ static void max7310_reset(DeviceState *dev) s->command = 0x00; } -static uint8_t max7310_rx(I2CSlave *i2c) +static uint8_t max7310_rx(I2CTarget *i2c) { MAX7310State *s = MAX7310(i2c); @@ -75,7 +75,7 @@ static uint8_t max7310_rx(I2CSlave *i2c) return 0xff; } -static int max7310_tx(I2CSlave *i2c, uint8_t data) +static int max7310_tx(I2CTarget *i2c, uint8_t data) { MAX7310State *s = MAX7310(i2c); uint8_t diff; @@ -129,7 +129,7 @@ static int max7310_tx(I2CSlave *i2c, uint8_t data) return 0; } -static int max7310_event(I2CSlave *i2c, enum i2c_event event) +static int max7310_event(I2CTarget *i2c, enum i2c_event event) { MAX7310State *s = MAX7310(i2c); s->len = 0; @@ -163,7 +163,7 @@ static const VMStateDescription vmstate_max7310 = { VMSTATE_UINT8(polarity, MAX7310State), VMSTATE_UINT8(status, MAX7310State), VMSTATE_UINT8(command, MAX7310State), - VMSTATE_I2C_SLAVE(parent_obj, MAX7310State), + VMSTATE_I2C_TARGET(parent_obj, MAX7310State), VMSTATE_END_OF_LIST() } }; @@ -192,7 +192,7 @@ static void max7310_realize(DeviceState *dev, Error **errp) static void max7310_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); dc->realize = max7310_realize; k->event = max7310_event; @@ -204,7 +204,7 @@ static void max7310_class_init(ObjectClass *klass, void *data) static const TypeInfo max7310_info = { .name = TYPE_MAX7310, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(MAX7310State), .class_init = max7310_class_init, }; diff --git a/hw/gpio/pca9552.c b/hw/gpio/pca9552.c index 27d4db0680..8c691b805a 100644 --- a/hw/gpio/pca9552.c +++ b/hw/gpio/pca9552.c @@ -26,7 +26,7 @@ struct PCA955xClass { /*< private >*/ - I2CSlaveClass parent_class; + I2CTargetClass parent_class; /*< public >*/ uint8_t pin_count; @@ -217,7 +217,7 @@ static void pca955x_autoinc(PCA955xState *s) } } -static uint8_t pca955x_recv(I2CSlave *i2c) +static uint8_t pca955x_recv(I2CTarget *i2c) { PCA955xState *s = PCA955X(i2c); uint8_t ret; @@ -245,7 +245,7 @@ static uint8_t pca955x_recv(I2CSlave *i2c) return ret; } -static int pca955x_send(I2CSlave *i2c, uint8_t data) +static int pca955x_send(I2CTarget *i2c, uint8_t data) { PCA955xState *s = PCA955X(i2c); @@ -262,7 +262,7 @@ static int pca955x_send(I2CSlave *i2c, uint8_t data) return 0; } -static int pca955x_event(I2CSlave *i2c, enum i2c_event event) +static int pca955x_event(I2CTarget *i2c, enum i2c_event event) { PCA955xState *s = PCA955X(i2c); @@ -354,7 +354,7 @@ static const VMStateDescription pca9552_vmstate = { VMSTATE_UINT8(pointer, PCA955xState), VMSTATE_UINT8_ARRAY(regs, PCA955xState, PCA955X_NR_REGS), VMSTATE_UINT8_ARRAY(ext_state, PCA955xState, PCA955X_PIN_COUNT_MAX), - VMSTATE_I2C_SLAVE(i2c, PCA955xState), + VMSTATE_I2C_TARGET(i2c, PCA955xState), VMSTATE_END_OF_LIST() } }; @@ -436,7 +436,7 @@ static Property pca955x_properties[] = { static void pca955x_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); k->event = pca955x_event; k->recv = pca955x_recv; @@ -447,7 +447,7 @@ static void pca955x_class_init(ObjectClass *klass, void *data) static const TypeInfo pca955x_info = { .name = TYPE_PCA955X, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_init = pca955x_initfn, .instance_size = sizeof(PCA955xState), .class_init = pca955x_class_init, diff --git a/hw/gpio/pca9554.c b/hw/gpio/pca9554.c index 7d10a64ba7..7bd0a29c66 100644 --- a/hw/gpio/pca9554.c +++ b/hw/gpio/pca9554.c @@ -22,7 +22,7 @@ struct PCA9554Class { /*< private >*/ - I2CSlaveClass parent_class; + I2CTargetClass parent_class; /*< public >*/ }; typedef struct PCA9554Class PCA9554Class; @@ -115,7 +115,7 @@ static void pca9554_write(PCA9554State *s, uint8_t reg, uint8_t data) } } -static uint8_t pca9554_recv(I2CSlave *i2c) +static uint8_t pca9554_recv(I2CTarget *i2c) { PCA9554State *s = PCA9554(i2c); uint8_t ret; @@ -125,7 +125,7 @@ static uint8_t pca9554_recv(I2CSlave *i2c) return ret; } -static int pca9554_send(I2CSlave *i2c, uint8_t data) +static int pca9554_send(I2CTarget *i2c, uint8_t data) { PCA9554State *s = PCA9554(i2c); @@ -140,7 +140,7 @@ static int pca9554_send(I2CSlave *i2c, uint8_t data) return 0; } -static int pca9554_event(I2CSlave *i2c, enum i2c_event event) +static int pca9554_event(I2CTarget *i2c, enum i2c_event event) { PCA9554State *s = PCA9554(i2c); @@ -227,7 +227,7 @@ static const VMStateDescription pca9554_vmstate = { VMSTATE_UINT8(pointer, PCA9554State), VMSTATE_UINT8_ARRAY(regs, PCA9554State, PCA9554_NR_REGS), VMSTATE_UINT8_ARRAY(ext_state, PCA9554State, PCA9554_PIN_COUNT), - VMSTATE_I2C_SLAVE(i2c, PCA9554State), + VMSTATE_I2C_TARGET(i2c, PCA9554State), VMSTATE_END_OF_LIST() } }; @@ -299,7 +299,7 @@ static Property pca9554_properties[] = { static void pca9554_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); k->event = pca9554_event; k->recv = pca9554_recv; @@ -312,7 +312,7 @@ static void pca9554_class_init(ObjectClass *klass, void *data) static const TypeInfo pca9554_info = { .name = TYPE_PCA9554, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_init = pca9554_initfn, .instance_size = sizeof(PCA9554State), .class_init = pca9554_class_init, diff --git a/hw/gpio/pcf8574.c b/hw/gpio/pcf8574.c index d37909e2ad..460023ceb3 100644 --- a/hw/gpio/pcf8574.c +++ b/hw/gpio/pcf8574.c @@ -39,7 +39,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(PCF8574State, PCF8574) #define PORTS_COUNT (8) struct PCF8574State { - I2CSlave parent_obj; + I2CTarget parent_obj; uint8_t lastrq; /* Last requested state. If changed - assert irq */ uint8_t input; /* external electrical line state */ uint8_t output; /* Pull-up (1) or drive low (0) on bit */ @@ -61,7 +61,7 @@ static inline uint8_t pcf8574_line_state(PCF8574State *s) return s->input & s->output; } -static uint8_t pcf8574_rx(I2CSlave *i2c) +static uint8_t pcf8574_rx(I2CTarget *i2c) { PCF8574State *s = PCF8574(i2c); uint8_t linestate = pcf8574_line_state(s); @@ -74,7 +74,7 @@ static uint8_t pcf8574_rx(I2CSlave *i2c) return linestate; } -static int pcf8574_tx(I2CSlave *i2c, uint8_t data) +static int pcf8574_tx(I2CTarget *i2c, uint8_t data) { PCF8574State *s = PCF8574(i2c); uint8_t prev; @@ -105,7 +105,7 @@ static const VMStateDescription vmstate_pcf8574 = { .version_id = 0, .minimum_version_id = 0, .fields = (VMStateField[]) { - VMSTATE_I2C_SLAVE(parent_obj, PCF8574State), + VMSTATE_I2C_TARGET(parent_obj, PCF8574State), VMSTATE_UINT8(lastrq, PCF8574State), VMSTATE_UINT8(input, PCF8574State), VMSTATE_UINT8(output, PCF8574State), @@ -141,7 +141,7 @@ static void pcf8574_realize(DeviceState *dev, Error **errp) static void pcf8574_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); k->recv = pcf8574_rx; k->send = pcf8574_tx; @@ -153,7 +153,7 @@ static void pcf8574_class_init(ObjectClass *klass, void *data) static const TypeInfo pcf8574_infos[] = { { .name = TYPE_PCF8574, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(PCF8574State), .class_init = pcf8574_class_init, } diff --git a/hw/i2c/aspeed_i2c.c b/hw/i2c/aspeed_i2c.c index b43afd250d..8ed67d5f0c 100644 --- a/hw/i2c/aspeed_i2c.c +++ b/hw/i2c/aspeed_i2c.c @@ -536,7 +536,7 @@ static void aspeed_i2c_bus_handle_cmd(AspeedI2CBus *bus, uint64_t value) SHARED_ARRAY_FIELD_DP32(bus->regs, reg_cmd, M_STOP_CMD, 0); aspeed_i2c_set_state(bus, I2CD_IDLE); - i2c_schedule_pending_master(bus->bus); + i2c_schedule_pending_controller(bus->bus); } if (aspeed_i2c_bus_pkt_mode_en(bus)) { @@ -693,7 +693,7 @@ static void aspeed_i2c_bus_new_write(AspeedI2CBus *bus, hwaddr offset, } else { bus->regs[R_I2CS_CMD] = value; } - i2c_slave_set_address(bus->slave, bus->regs[R_I2CS_DEV_ADDR]); + i2c_target_set_address(bus->slave, bus->regs[R_I2CS_DEV_ADDR]); break; case A_I2CS_INTR_CTRL: bus->regs[R_I2CS_INTR_CTRL] = value; @@ -738,7 +738,7 @@ static void aspeed_i2c_bus_old_write(AspeedI2CBus *bus, hwaddr offset, switch (offset) { case A_I2CD_FUN_CTRL: if (SHARED_FIELD_EX32(value, SLAVE_EN)) { - i2c_slave_set_address(bus->slave, bus->regs[R_I2CD_DEV_ADDR]); + i2c_target_set_address(bus->slave, bus->regs[R_I2CD_DEV_ADDR]); } bus->regs[R_I2CD_FUN_CTRL] = value & 0x0071C3FF; break; @@ -1112,7 +1112,7 @@ static int aspeed_i2c_bus_new_slave_event(AspeedI2CBus *bus, return 0; } -static int aspeed_i2c_bus_slave_event(I2CSlave *slave, enum i2c_event event) +static int aspeed_i2c_bus_slave_event(I2CTarget *slave, enum i2c_event event) { BusState *qbus = qdev_get_parent_bus(DEVICE(slave)); AspeedI2CBus *bus = ASPEED_I2C_BUS(qbus->parent); @@ -1167,7 +1167,7 @@ static void aspeed_i2c_bus_new_slave_send_async(AspeedI2CBus *bus, uint8_t data) i2c_ack(bus->bus); } -static void aspeed_i2c_bus_slave_send_async(I2CSlave *slave, uint8_t data) +static void aspeed_i2c_bus_slave_send_async(I2CTarget *slave, uint8_t data) { BusState *qbus = qdev_get_parent_bus(DEVICE(slave)); AspeedI2CBus *bus = ASPEED_I2C_BUS(qbus->parent); @@ -1187,7 +1187,7 @@ static void aspeed_i2c_bus_slave_send_async(I2CSlave *slave, uint8_t data) static void aspeed_i2c_bus_slave_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *sc = I2C_SLAVE_CLASS(klass); + I2CTargetClass *sc = I2C_TARGET_CLASS(klass); dc->desc = "Aspeed I2C Bus Slave"; @@ -1197,7 +1197,7 @@ static void aspeed_i2c_bus_slave_class_init(ObjectClass *klass, void *data) static const TypeInfo aspeed_i2c_bus_slave_info = { .name = TYPE_ASPEED_I2C_BUS_SLAVE, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(AspeedI2CBusSlave), .class_init = aspeed_i2c_bus_slave_class_init, }; @@ -1226,7 +1226,7 @@ static void aspeed_i2c_bus_realize(DeviceState *dev, Error **errp) sysbus_init_irq(SYS_BUS_DEVICE(dev), &s->irq); s->bus = i2c_init_bus(dev, name); - s->slave = i2c_slave_create_simple(s->bus, TYPE_ASPEED_I2C_BUS_SLAVE, + s->slave = i2c_target_create_simple(s->bus, TYPE_ASPEED_I2C_BUS_SLAVE, 0xff); memory_region_init_io(&s->mr, OBJECT(s), &aspeed_i2c_bus_ops, diff --git a/hw/i2c/core.c b/hw/i2c/core.c index 4cf30b2c86..fd34a6bc83 100644 --- a/hw/i2c/core.c +++ b/hw/i2c/core.c @@ -19,7 +19,7 @@ #define I2C_BROADCAST 0x00 static Property i2c_props[] = { - DEFINE_PROP_UINT8("address", struct I2CSlave, address, 0), + DEFINE_PROP_UINT8("address", struct I2CTarget, address, 0), DEFINE_PROP_END_OF_LIST(), }; @@ -63,12 +63,12 @@ I2CBus *i2c_init_bus(DeviceState *parent, const char *name) bus = I2C_BUS(qbus_new(TYPE_I2C_BUS, parent, name)); QLIST_INIT(&bus->current_devs); - QSIMPLEQ_INIT(&bus->pending_masters); + QSIMPLEQ_INIT(&bus->pending_controllers); vmstate_register_any(NULL, &vmstate_i2c_bus, bus); return bus; } -void i2c_slave_set_address(I2CSlave *dev, uint8_t address) +void i2c_target_set_address(I2CTarget *dev, uint8_t address) { dev->address = address; } @@ -86,8 +86,8 @@ bool i2c_scan_bus(I2CBus *bus, uint8_t address, bool broadcast, QTAILQ_FOREACH(kid, &bus->qbus.children, sibling) { DeviceState *qdev = kid->child; - I2CSlave *candidate = I2C_SLAVE(qdev); - I2CSlaveClass *sc = I2C_SLAVE_GET_CLASS(candidate); + I2CTarget *candidate = I2C_SLAVE(qdev); + I2CTargetClass *sc = I2C_TARGET_GET_CLASS(candidate); if (sc->match_and_add(candidate, address, broadcast, current_devs)) { if (!broadcast) { @@ -122,7 +122,7 @@ bool i2c_scan_bus(I2CBus *bus, uint8_t address, bool broadcast, static int i2c_do_start_transfer(I2CBus *bus, uint8_t address, enum i2c_event event) { - I2CSlaveClass *sc; + I2CTargetClass *sc; I2CNode *node; bool bus_scanned = false; @@ -153,10 +153,10 @@ static int i2c_do_start_transfer(I2CBus *bus, uint8_t address, } QLIST_FOREACH(node, &bus->current_devs, next) { - I2CSlave *s = node->elt; + I2CTarget *s = node->elt; int rv; - sc = I2C_SLAVE_GET_CLASS(s); + sc = I2C_TARGET_GET_CLASS(s); /* If the bus is already busy, assume this is a repeated start condition. */ @@ -183,31 +183,31 @@ int i2c_start_transfer(I2CBus *bus, uint8_t address, bool is_recv) : I2C_START_SEND); } -void i2c_bus_master(I2CBus *bus, QEMUBH *bh) +void i2c_bus_controller(I2CBus *bus, QEMUBH *bh) { - I2CPendingMaster *node = g_new(struct I2CPendingMaster, 1); + I2CPendingController *node = g_new(struct I2CPendingController, 1); node->bh = bh; - QSIMPLEQ_INSERT_TAIL(&bus->pending_masters, node, entry); + QSIMPLEQ_INSERT_TAIL(&bus->pending_controllers, node, entry); } -void i2c_schedule_pending_master(I2CBus *bus) +void i2c_schedule_pending_controller(I2CBus *bus) { - I2CPendingMaster *node; + I2CPendingController *node; if (i2c_bus_busy(bus)) { /* someone is already controlling the bus; wait for it to release it */ return; } - if (QSIMPLEQ_EMPTY(&bus->pending_masters)) { + if (QSIMPLEQ_EMPTY(&bus->pending_controllers)) { return; } - node = QSIMPLEQ_FIRST(&bus->pending_masters); + node = QSIMPLEQ_FIRST(&bus->pending_controllers); bus->bh = node->bh; - QSIMPLEQ_REMOVE_HEAD(&bus->pending_masters, entry); + QSIMPLEQ_REMOVE_HEAD(&bus->pending_controllers, entry); g_free(node); qemu_bh_schedule(bus->bh); @@ -217,7 +217,7 @@ void i2c_bus_release(I2CBus *bus) { bus->bh = NULL; - i2c_schedule_pending_master(bus); + i2c_schedule_pending_controller(bus); } int i2c_start_recv(I2CBus *bus, uint8_t address) @@ -237,12 +237,12 @@ int i2c_start_send_async(I2CBus *bus, uint8_t address) void i2c_end_transfer(I2CBus *bus) { - I2CSlaveClass *sc; + I2CTargetClass *sc; I2CNode *node, *next; QLIST_FOREACH_SAFE(node, &bus->current_devs, next, next) { - I2CSlave *s = node->elt; - sc = I2C_SLAVE_GET_CLASS(s); + I2CTarget *s = node->elt; + sc = I2C_TARGET_GET_CLASS(s); if (sc->event) { trace_i2c_event("finish", s->address); sc->event(s, I2C_FINISH); @@ -255,14 +255,14 @@ void i2c_end_transfer(I2CBus *bus) int i2c_send(I2CBus *bus, uint8_t data) { - I2CSlaveClass *sc; - I2CSlave *s; + I2CTargetClass *sc; + I2CTarget *s; I2CNode *node; int ret = 0; QLIST_FOREACH(node, &bus->current_devs, next) { s = node->elt; - sc = I2C_SLAVE_GET_CLASS(s); + sc = I2C_TARGET_GET_CLASS(s); if (sc->send) { trace_i2c_send(s->address, data); ret = ret || sc->send(s, data); @@ -277,8 +277,8 @@ int i2c_send(I2CBus *bus, uint8_t data) int i2c_send_async(I2CBus *bus, uint8_t data) { I2CNode *node = QLIST_FIRST(&bus->current_devs); - I2CSlave *slave = node->elt; - I2CSlaveClass *sc = I2C_SLAVE_GET_CLASS(slave); + I2CTarget *slave = node->elt; + I2CTargetClass *sc = I2C_TARGET_GET_CLASS(slave); if (!sc->send_async) { return -1; @@ -294,11 +294,11 @@ int i2c_send_async(I2CBus *bus, uint8_t data) uint8_t i2c_recv(I2CBus *bus) { uint8_t data = 0xff; - I2CSlaveClass *sc; - I2CSlave *s; + I2CTargetClass *sc; + I2CTarget *s; if (!QLIST_EMPTY(&bus->current_devs) && !bus->broadcast) { - sc = I2C_SLAVE_GET_CLASS(QLIST_FIRST(&bus->current_devs)->elt); + sc = I2C_TARGET_GET_CLASS(QLIST_FIRST(&bus->current_devs)->elt); if (sc->recv) { s = QLIST_FIRST(&bus->current_devs)->elt; data = sc->recv(s); @@ -311,7 +311,7 @@ uint8_t i2c_recv(I2CBus *bus) void i2c_nack(I2CBus *bus) { - I2CSlaveClass *sc; + I2CTargetClass *sc; I2CNode *node; if (QLIST_EMPTY(&bus->current_devs)) { @@ -319,7 +319,7 @@ void i2c_nack(I2CBus *bus) } QLIST_FOREACH(node, &bus->current_devs, next) { - sc = I2C_SLAVE_GET_CLASS(node->elt); + sc = I2C_TARGET_GET_CLASS(node->elt); if (sc->event) { trace_i2c_event("nack", node->elt->address); sc->event(node->elt, I2C_NACK); @@ -340,7 +340,7 @@ void i2c_ack(I2CBus *bus) static int i2c_slave_post_load(void *opaque, int version_id) { - I2CSlave *dev = opaque; + I2CTarget *dev = opaque; I2CBus *bus; I2CNode *node; @@ -354,18 +354,18 @@ static int i2c_slave_post_load(void *opaque, int version_id) return 0; } -const VMStateDescription vmstate_i2c_slave = { - .name = "I2CSlave", +const VMStateDescription vmstate_i2c_target = { + .name = "I2CTarget", .version_id = 1, .minimum_version_id = 1, .post_load = i2c_slave_post_load, .fields = (const VMStateField[]) { - VMSTATE_UINT8(address, I2CSlave), + VMSTATE_UINT8(address, I2CTarget), VMSTATE_END_OF_LIST() } }; -I2CSlave *i2c_slave_new(const char *name, uint8_t addr) +I2CTarget *i2c_target_new(const char *name, uint8_t addr) { DeviceState *dev; @@ -374,21 +374,21 @@ I2CSlave *i2c_slave_new(const char *name, uint8_t addr) return I2C_SLAVE(dev); } -bool i2c_slave_realize_and_unref(I2CSlave *dev, I2CBus *bus, Error **errp) +bool i2c_target_realize_and_unref(I2CTarget *dev, I2CBus *bus, Error **errp) { return qdev_realize_and_unref(&dev->qdev, &bus->qbus, errp); } -I2CSlave *i2c_slave_create_simple(I2CBus *bus, const char *name, uint8_t addr) +I2CTarget *i2c_target_create_simple(I2CBus *bus, const char *name, uint8_t addr) { - I2CSlave *dev = i2c_slave_new(name, addr); + I2CTarget *dev = i2c_target_new(name, addr); - i2c_slave_realize_and_unref(dev, bus, &error_abort); + i2c_target_realize_and_unref(dev, bus, &error_abort); return dev; } -static bool i2c_slave_match(I2CSlave *candidate, uint8_t address, +static bool i2c_slave_match(I2CTarget *candidate, uint8_t address, bool broadcast, I2CNodeList *current_devs) { if ((candidate->address == address) || (broadcast)) { @@ -405,7 +405,7 @@ static bool i2c_slave_match(I2CSlave *candidate, uint8_t address, static void i2c_slave_class_init(ObjectClass *klass, void *data) { DeviceClass *k = DEVICE_CLASS(klass); - I2CSlaveClass *sc = I2C_SLAVE_CLASS(klass); + I2CTargetClass *sc = I2C_TARGET_CLASS(klass); set_bit(DEVICE_CATEGORY_MISC, k->categories); k->bus_type = TYPE_I2C_BUS; device_class_set_props(k, i2c_props); @@ -413,11 +413,11 @@ static void i2c_slave_class_init(ObjectClass *klass, void *data) } static const TypeInfo i2c_slave_type_info = { - .name = TYPE_I2C_SLAVE, + .name = TYPE_I2C_TARGET, .parent = TYPE_DEVICE, - .instance_size = sizeof(I2CSlave), + .instance_size = sizeof(I2CTarget), .abstract = true, - .class_size = sizeof(I2CSlaveClass), + .class_size = sizeof(I2CTargetClass), .class_init = i2c_slave_class_init, }; diff --git a/hw/i2c/i2c_mux_pca954x.c b/hw/i2c/i2c_mux_pca954x.c index db5db956a6..53c33ac3ff 100644 --- a/hw/i2c/i2c_mux_pca954x.c +++ b/hw/i2c/i2c_mux_pca954x.c @@ -64,7 +64,7 @@ OBJECT_DECLARE_TYPE(Pca954xState, Pca954xClass, PCA954X) /* * For each channel, if it's enabled, recursively call match on those children. */ -static bool pca954x_match(I2CSlave *candidate, uint8_t address, +static bool pca954x_match(I2CTarget *candidate, uint8_t address, bool broadcast, I2CNodeList *current_devs) { @@ -163,7 +163,7 @@ static void pca954x_enter_reset(Object *obj, ResetType type) pca954x_write(s, 0); } -I2CBus *pca954x_i2c_get_bus(I2CSlave *mux, uint8_t channel) +I2CBus *pca954x_i2c_get_bus(I2CTarget *mux, uint8_t channel) { Pca954xClass *pc = PCA954X_GET_CLASS(mux); Pca954xState *pca954x = PCA954X(mux); @@ -218,7 +218,7 @@ static Property pca954x_props[] = { static void pca954x_class_init(ObjectClass *klass, void *data) { - I2CSlaveClass *sc = I2C_SLAVE_CLASS(klass); + I2CTargetClass *sc = I2C_TARGET_CLASS(klass); ResettableClass *rc = RESETTABLE_CLASS(klass); DeviceClass *dc = DEVICE_CLASS(klass); SMBusDeviceClass *k = SMBUS_DEVICE_CLASS(klass); diff --git a/hw/i2c/imx_i2c.c b/hw/i2c/imx_i2c.c index a25676f025..363e51fda1 100644 --- a/hw/i2c/imx_i2c.c +++ b/hw/i2c/imx_i2c.c @@ -171,7 +171,7 @@ static void imx_i2c_write(void *opaque, hwaddr offset, switch (offset) { case IADR_ADDR: s->iadr = value & IADR_MASK; - /* i2c_slave_set_address(s->bus, (uint8_t)s->iadr); */ + /* i2c_target_set_address(s->bus, (uint8_t)s->iadr); */ break; case IFDR_ADDR: s->ifdr = value & IFDR_MASK; diff --git a/hw/i2c/smbus_slave.c b/hw/i2c/smbus_slave.c index 9f9afc25a4..68acf01d1e 100644 --- a/hw/i2c/smbus_slave.c +++ b/hw/i2c/smbus_slave.c @@ -64,7 +64,7 @@ static void smbus_do_write(SMBusDevice *dev) } } -static int smbus_i2c_event(I2CSlave *s, enum i2c_event event) +static int smbus_i2c_event(I2CTarget *s, enum i2c_event event) { SMBusDevice *dev = SMBUS_DEVICE(s); @@ -156,7 +156,7 @@ static int smbus_i2c_event(I2CSlave *s, enum i2c_event event) return 0; } -static uint8_t smbus_i2c_recv(I2CSlave *s) +static uint8_t smbus_i2c_recv(I2CTarget *s) { SMBusDevice *dev = SMBUS_DEVICE(s); SMBusDeviceClass *sc = SMBUS_DEVICE_GET_CLASS(dev); @@ -179,7 +179,7 @@ static uint8_t smbus_i2c_recv(I2CSlave *s) return ret; } -static int smbus_i2c_send(I2CSlave *s, uint8_t data) +static int smbus_i2c_send(I2CTarget *s, uint8_t data) { SMBusDevice *dev = SMBUS_DEVICE(s); @@ -203,7 +203,7 @@ static int smbus_i2c_send(I2CSlave *s, uint8_t data) static void smbus_device_class_init(ObjectClass *klass, void *data) { - I2CSlaveClass *sc = I2C_SLAVE_CLASS(klass); + I2CTargetClass *sc = I2C_TARGET_CLASS(klass); sc->event = smbus_i2c_event; sc->recv = smbus_i2c_recv; @@ -220,7 +220,7 @@ const VMStateDescription vmstate_smbus_device = { .version_id = 1, .minimum_version_id = 1, .fields = (const VMStateField[]) { - VMSTATE_I2C_SLAVE(i2c, SMBusDevice), + VMSTATE_I2C_TARGET(i2c, SMBusDevice), VMSTATE_INT32(mode, SMBusDevice), VMSTATE_INT32(data_len, SMBusDevice), VMSTATE_UINT8_ARRAY(data_buf, SMBusDevice, SMBUS_DATA_MAX_LEN), @@ -230,7 +230,7 @@ const VMStateDescription vmstate_smbus_device = { static const TypeInfo smbus_device_type_info = { .name = TYPE_SMBUS_DEVICE, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(SMBusDevice), .abstract = true, .class_size = sizeof(SMBusDeviceClass), diff --git a/hw/input/lm832x.c b/hw/input/lm832x.c index 59e5567afd..615d30a8bd 100644 --- a/hw/input/lm832x.c +++ b/hw/input/lm832x.c @@ -31,7 +31,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(LM823KbdState, LM8323) struct LM823KbdState { - I2CSlave parent_obj; + I2CTarget parent_obj; uint8_t i2c_dir; uint8_t i2c_cycle; @@ -388,7 +388,7 @@ static void lm_kbd_write(LM823KbdState *s, int reg, int byte, uint8_t value) } } -static int lm_i2c_event(I2CSlave *i2c, enum i2c_event event) +static int lm_i2c_event(I2CTarget *i2c, enum i2c_event event) { LM823KbdState *s = LM8323(i2c); @@ -406,14 +406,14 @@ static int lm_i2c_event(I2CSlave *i2c, enum i2c_event event) return 0; } -static uint8_t lm_i2c_rx(I2CSlave *i2c) +static uint8_t lm_i2c_rx(I2CTarget *i2c) { LM823KbdState *s = LM8323(i2c); return lm_kbd_read(s, s->reg, s->i2c_cycle ++); } -static int lm_i2c_tx(I2CSlave *i2c, uint8_t data) +static int lm_i2c_tx(I2CTarget *i2c, uint8_t data) { LM823KbdState *s = LM8323(i2c); @@ -442,7 +442,7 @@ static const VMStateDescription vmstate_lm_kbd = { .minimum_version_id = 0, .post_load = lm_kbd_post_load, .fields = (const VMStateField[]) { - VMSTATE_I2C_SLAVE(parent_obj, LM823KbdState), + VMSTATE_I2C_TARGET(parent_obj, LM823KbdState), VMSTATE_UINT8(i2c_dir, LM823KbdState), VMSTATE_UINT8(i2c_cycle, LM823KbdState), VMSTATE_UINT8(reg, LM823KbdState), @@ -503,7 +503,7 @@ void lm832x_key_event(DeviceState *dev, int key, int state) static void lm8323_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); dc->reset = lm_kbd_reset; dc->realize = lm8323_realize; @@ -515,7 +515,7 @@ static void lm8323_class_init(ObjectClass *klass, void *data) static const TypeInfo lm8323_info = { .name = TYPE_LM8323, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(LM823KbdState), .class_init = lm8323_class_init, }; diff --git a/hw/misc/axp2xx.c b/hw/misc/axp2xx.c index af646878cd..430e70ae54 100644 --- a/hw/misc/axp2xx.c +++ b/hw/misc/axp2xx.c @@ -45,7 +45,7 @@ OBJECT_DECLARE_TYPE(AXP2xxI2CState, AXP2xxClass, AXP2XX) /* A simple I2C slave which returns values of ID or CNT register. */ typedef struct AXP2xxI2CState { /*< private >*/ - I2CSlave i2c; + I2CTarget i2c; /*< public >*/ uint8_t regs[NR_REGS]; /* peripheral registers */ uint8_t ptr; /* current register index */ @@ -54,7 +54,7 @@ typedef struct AXP2xxI2CState { typedef struct AXP2xxClass { /*< private >*/ - I2CSlaveClass parent_class; + I2CTargetClass parent_class; /*< public >*/ void (*reset_enter)(AXP2xxI2CState *s, ResetType type); } AXP2xxClass; @@ -169,7 +169,7 @@ static void axp2xx_reset_enter(Object *obj, ResetType type) } /* Handle events from master. */ -static int axp2xx_event(I2CSlave *i2c, enum i2c_event event) +static int axp2xx_event(I2CTarget *i2c, enum i2c_event event) { AXP2xxI2CState *s = AXP2XX(i2c); @@ -179,7 +179,7 @@ static int axp2xx_event(I2CSlave *i2c, enum i2c_event event) } /* Called when master requests read */ -static uint8_t axp2xx_rx(I2CSlave *i2c) +static uint8_t axp2xx_rx(I2CTarget *i2c) { AXP2xxI2CState *s = AXP2XX(i2c); uint8_t ret = 0xff; @@ -197,7 +197,7 @@ static uint8_t axp2xx_rx(I2CSlave *i2c) * Called when master sends write. * Update ptr with byte 0, then perform write with second byte. */ -static int axp2xx_tx(I2CSlave *i2c, uint8_t data) +static int axp2xx_tx(I2CTarget *i2c, uint8_t data) { AXP2xxI2CState *s = AXP2XX(i2c); @@ -228,7 +228,7 @@ static const VMStateDescription vmstate_axp2xx = { static void axp2xx_class_init(ObjectClass *oc, void *data) { DeviceClass *dc = DEVICE_CLASS(oc); - I2CSlaveClass *isc = I2C_SLAVE_CLASS(oc); + I2CTargetClass *isc = I2C_TARGET_CLASS(oc); ResettableClass *rc = RESETTABLE_CLASS(oc); rc->phases.enter = axp2xx_reset_enter; @@ -240,7 +240,7 @@ static void axp2xx_class_init(ObjectClass *oc, void *data) static const TypeInfo axp2xx_info = { .name = TYPE_AXP2XX, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(AXP2xxI2CState), .class_size = sizeof(AXP2xxClass), .class_init = axp2xx_class_init, diff --git a/hw/misc/i2c-echo.c b/hw/misc/i2c-echo.c index 5ae3d0817e..a966718c99 100644 --- a/hw/misc/i2c-echo.c +++ b/hw/misc/i2c-echo.c @@ -24,7 +24,7 @@ enum i2c_echo_state { }; typedef struct I2CEchoState { - I2CSlave parent_obj; + I2CTarget parent_obj; I2CBus *bus; @@ -72,7 +72,7 @@ release_bus: state->state = I2C_ECHO_STATE_IDLE; } -static int i2c_echo_event(I2CSlave *s, enum i2c_event event) +static int i2c_echo_event(I2CTarget *s, enum i2c_event event) { I2CEchoState *state = I2C_ECHO(s); @@ -90,7 +90,7 @@ static int i2c_echo_event(I2CSlave *s, enum i2c_event event) case I2C_FINISH: state->pos = 0; state->state = I2C_ECHO_STATE_START_SEND; - i2c_bus_master(state->bus, state->bh); + i2c_bus_controller(state->bus, state->bh); break; @@ -104,7 +104,7 @@ static int i2c_echo_event(I2CSlave *s, enum i2c_event event) return 0; } -static uint8_t i2c_echo_recv(I2CSlave *s) +static uint8_t i2c_echo_recv(I2CTarget *s) { I2CEchoState *state = I2C_ECHO(s); @@ -115,7 +115,7 @@ static uint8_t i2c_echo_recv(I2CSlave *s) return state->data[state->pos++]; } -static int i2c_echo_send(I2CSlave *s, uint8_t data) +static int i2c_echo_send(I2CTarget *s, uint8_t data) { I2CEchoState *state = I2C_ECHO(s); @@ -141,7 +141,7 @@ static void i2c_echo_realize(DeviceState *dev, Error **errp) static void i2c_echo_class_init(ObjectClass *oc, void *data) { - I2CSlaveClass *sc = I2C_SLAVE_CLASS(oc); + I2CTargetClass *sc = I2C_TARGET_CLASS(oc); DeviceClass *dc = DEVICE_CLASS(oc); dc->realize = i2c_echo_realize; @@ -153,7 +153,7 @@ static void i2c_echo_class_init(ObjectClass *oc, void *data) static const TypeInfo i2c_echo = { .name = TYPE_I2C_ECHO, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(I2CEchoState), .class_init = i2c_echo_class_init, }; diff --git a/hw/nvram/eeprom_at24c.c b/hw/nvram/eeprom_at24c.c index 4db83d0dd6..cb4cc2273c 100644 --- a/hw/nvram/eeprom_at24c.c +++ b/hw/nvram/eeprom_at24c.c @@ -35,7 +35,7 @@ DECLARE_INSTANCE_CHECKER(EEPROMState, AT24C_EE, TYPE_AT24C_EE) struct EEPROMState { - I2CSlave parent_obj; + I2CTarget parent_obj; /* address counter */ uint16_t cur; @@ -63,7 +63,7 @@ struct EEPROMState { }; static -int at24c_eeprom_event(I2CSlave *s, enum i2c_event event) +int at24c_eeprom_event(I2CTarget *s, enum i2c_event event) { EEPROMState *ee = AT24C_EE(s); @@ -93,7 +93,7 @@ int at24c_eeprom_event(I2CSlave *s, enum i2c_event event) } static -uint8_t at24c_eeprom_recv(I2CSlave *s) +uint8_t at24c_eeprom_recv(I2CTarget *s) { EEPROMState *ee = AT24C_EE(s); uint8_t ret; @@ -115,7 +115,7 @@ uint8_t at24c_eeprom_recv(I2CSlave *s) } static -int at24c_eeprom_send(I2CSlave *s, uint8_t data) +int at24c_eeprom_send(I2CTarget *s, uint8_t data) { EEPROMState *ee = AT24C_EE(s); @@ -143,19 +143,19 @@ int at24c_eeprom_send(I2CSlave *s, uint8_t data) return 0; } -I2CSlave *at24c_eeprom_init(I2CBus *bus, uint8_t address, uint32_t rom_size) +I2CTarget *at24c_eeprom_init(I2CBus *bus, uint8_t address, uint32_t rom_size) { return at24c_eeprom_init_rom(bus, address, rom_size, NULL, 0); } -I2CSlave *at24c_eeprom_init_rom(I2CBus *bus, +I2CTarget *at24c_eeprom_init_rom(I2CBus *bus, uint8_t address, uint32_t rom_size, const uint8_t *init_rom, uint32_t init_rom_size) { EEPROMState *s; - s = AT24C_EE(i2c_slave_new(TYPE_AT24C_EE, address)); + s = AT24C_EE(i2c_target_new(TYPE_AT24C_EE, address)); qdev_prop_set_uint32(DEVICE(s), "rom-size", rom_size); @@ -163,7 +163,7 @@ I2CSlave *at24c_eeprom_init_rom(I2CBus *bus, s->init_rom = init_rom; s->init_rom_size = init_rom_size; - i2c_slave_realize_and_unref(I2C_SLAVE(s), bus, &error_abort); + i2c_target_realize_and_unref(I2C_SLAVE(s), bus, &error_abort); return I2C_SLAVE(s); } @@ -248,7 +248,7 @@ static void at24c_eeprom_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); dc->realize = &at24c_eeprom_realize; k->event = &at24c_eeprom_event; @@ -262,9 +262,9 @@ void at24c_eeprom_class_init(ObjectClass *klass, void *data) static const TypeInfo at24c_eeprom_type = { .name = TYPE_AT24C_EE, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(EEPROMState), - .class_size = sizeof(I2CSlaveClass), + .class_size = sizeof(I2CTargetClass), .class_init = at24c_eeprom_class_init, }; diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 3bd12b54ab..200c46eb3f 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -1025,7 +1025,7 @@ void ppce500_init(MachineState *machine) memory_region_add_subregion(ccsr_addr_space, MPC8544_I2C_REGS_OFFSET, sysbus_mmio_get_region(s, 0)); i2c = (I2CBus *)qdev_get_child_bus(dev, "i2c"); - i2c_slave_create_simple(i2c, "ds1338", RTC_REGS_OFFSET); + i2c_target_create_simple(i2c, "ds1338", RTC_REGS_OFFSET); /* eSDHC */ if (pmc->has_esdhc) { diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 6e3a5ccdec..c648c66eed 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -2056,7 +2056,7 @@ static void pnv_rainier_i2c_init(PnvMachineState *pnv) * Add a PCA9552 I2C device for PCIe hotplug control * to engine 2, bus 1, address 0x63 */ - I2CSlave *dev = i2c_slave_create_simple(chip10->i2c[2].busses[1], + I2CTarget *dev = i2c_target_create_simple(chip10->i2c[2].busses[1], "pca9552", 0x63); /* @@ -2074,7 +2074,7 @@ static void pnv_rainier_i2c_init(PnvMachineState *pnv) * Add a PCA9554 I2C device for cable card presence detection * to engine 2, bus 1, address 0x25 */ - i2c_slave_create_simple(chip10->i2c[2].busses[1], "pca9554", 0x25); + i2c_target_create_simple(chip10->i2c[2].busses[1], "pca9554", 0x25); } } diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index d42b677898..e71cfacc2c 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -372,7 +372,7 @@ static void sam460ex_init(MachineState *machine) spd_data[20] = 4; /* SO-DIMM module */ smbus_eeprom_init_one(i2c, 0x50, spd_data); /* RTC */ - i2c_slave_create_simple(i2c, "m41t80", 0x68); + i2c_target_create_simple(i2c, "m41t80", 0x68); dev = sysbus_create_simple(TYPE_PPC4xx_I2C, 0x4ef600800, qdev_get_gpio_in(uic[0], 3)); diff --git a/hw/rtc/ds1338.c b/hw/rtc/ds1338.c index e479661c39..47a4c93a5a 100644 --- a/hw/rtc/ds1338.c +++ b/hw/rtc/ds1338.c @@ -33,7 +33,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(DS1338State, DS1338) struct DS1338State { - I2CSlave parent_obj; + I2CTarget parent_obj; int64_t offset; uint8_t wday_offset; @@ -47,7 +47,7 @@ static const VMStateDescription vmstate_ds1338 = { .version_id = 2, .minimum_version_id = 1, .fields = (const VMStateField[]) { - VMSTATE_I2C_SLAVE(parent_obj, DS1338State), + VMSTATE_I2C_TARGET(parent_obj, DS1338State), VMSTATE_INT64(offset, DS1338State), VMSTATE_UINT8_V(wday_offset, DS1338State, 2), VMSTATE_UINT8_ARRAY(nvram, DS1338State, NVRAM_SIZE), @@ -97,7 +97,7 @@ static void inc_regptr(DS1338State *s) } } -static int ds1338_event(I2CSlave *i2c, enum i2c_event event) +static int ds1338_event(I2CTarget *i2c, enum i2c_event event) { DS1338State *s = DS1338(i2c); @@ -120,7 +120,7 @@ static int ds1338_event(I2CSlave *i2c, enum i2c_event event) return 0; } -static uint8_t ds1338_recv(I2CSlave *i2c) +static uint8_t ds1338_recv(I2CTarget *i2c) { DS1338State *s = DS1338(i2c); uint8_t res; @@ -130,7 +130,7 @@ static uint8_t ds1338_recv(I2CSlave *i2c) return res; } -static int ds1338_send(I2CSlave *i2c, uint8_t data) +static int ds1338_send(I2CTarget *i2c, uint8_t data) { DS1338State *s = DS1338(i2c); @@ -218,7 +218,7 @@ static void ds1338_reset(DeviceState *dev) static void ds1338_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); k->event = ds1338_event; k->recv = ds1338_recv; @@ -229,7 +229,7 @@ static void ds1338_class_init(ObjectClass *klass, void *data) static const TypeInfo ds1338_info = { .name = TYPE_DS1338, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(DS1338State), .class_init = ds1338_class_init, }; diff --git a/hw/rtc/m41t80.c b/hw/rtc/m41t80.c index e045c864bb..d43184f1c8 100644 --- a/hw/rtc/m41t80.c +++ b/hw/rtc/m41t80.c @@ -20,7 +20,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(M41t80State, M41T80) struct M41t80State { - I2CSlave parent_obj; + I2CTarget parent_obj; int8_t addr; }; @@ -31,7 +31,7 @@ static void m41t80_realize(DeviceState *dev, Error **errp) s->addr = -1; } -static int m41t80_send(I2CSlave *i2c, uint8_t data) +static int m41t80_send(I2CTarget *i2c, uint8_t data) { M41t80State *s = M41T80(i2c); @@ -43,7 +43,7 @@ static int m41t80_send(I2CSlave *i2c, uint8_t data) return 0; } -static uint8_t m41t80_recv(I2CSlave *i2c) +static uint8_t m41t80_recv(I2CTarget *i2c) { M41t80State *s = M41T80(i2c); struct tm now; @@ -84,7 +84,7 @@ static uint8_t m41t80_recv(I2CSlave *i2c) } } -static int m41t80_event(I2CSlave *i2c, enum i2c_event event) +static int m41t80_event(I2CTarget *i2c, enum i2c_event event) { M41t80State *s = M41T80(i2c); @@ -97,7 +97,7 @@ static int m41t80_event(I2CSlave *i2c, enum i2c_event event) static void m41t80_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *sc = I2C_SLAVE_CLASS(klass); + I2CTargetClass *sc = I2C_TARGET_CLASS(klass); dc->realize = m41t80_realize; sc->send = m41t80_send; @@ -107,7 +107,7 @@ static void m41t80_class_init(ObjectClass *klass, void *data) static const TypeInfo m41t80_info = { .name = TYPE_M41T80, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(M41t80State), .class_init = m41t80_class_init, }; diff --git a/hw/rtc/twl92230.c b/hw/rtc/twl92230.c index efd19a76e6..d69bb62f51 100644 --- a/hw/rtc/twl92230.c +++ b/hw/rtc/twl92230.c @@ -37,7 +37,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(MenelausState, TWL92230) struct MenelausState { - I2CSlave parent_obj; + I2CTarget parent_obj; int firstbyte; uint8_t reg; @@ -134,7 +134,7 @@ static void menelaus_rtc_hz(void *opaque) menelaus_update(s); } -static void menelaus_reset(I2CSlave *i2c) +static void menelaus_reset(I2CTarget *i2c) { MenelausState *s = TWL92230(i2c); @@ -701,7 +701,7 @@ static void menelaus_write(void *opaque, uint8_t addr, uint8_t value) } } -static int menelaus_event(I2CSlave *i2c, enum i2c_event event) +static int menelaus_event(I2CTarget *i2c, enum i2c_event event) { MenelausState *s = TWL92230(i2c); @@ -711,7 +711,7 @@ static int menelaus_event(I2CSlave *i2c, enum i2c_event event) return 0; } -static int menelaus_tx(I2CSlave *i2c, uint8_t data) +static int menelaus_tx(I2CTarget *i2c, uint8_t data) { MenelausState *s = TWL92230(i2c); @@ -725,7 +725,7 @@ static int menelaus_tx(I2CSlave *i2c, uint8_t data) return 0; } -static uint8_t menelaus_rx(I2CSlave *i2c) +static uint8_t menelaus_rx(I2CTarget *i2c) { MenelausState *s = TWL92230(i2c); @@ -836,7 +836,7 @@ static const VMStateDescription vmstate_menelaus = { VMSTATE_STRUCT(rtc.alm, MenelausState, 0, vmstate_menelaus_tm, struct tm), VMSTATE_UINT8(pwrbtn_state, MenelausState), - VMSTATE_I2C_SLAVE(parent_obj, MenelausState), + VMSTATE_I2C_TARGET(parent_obj, MenelausState), VMSTATE_END_OF_LIST() } }; @@ -858,7 +858,7 @@ static void twl92230_realize(DeviceState *dev, Error **errp) static void twl92230_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *sc = I2C_SLAVE_CLASS(klass); + I2CTargetClass *sc = I2C_TARGET_CLASS(klass); dc->realize = twl92230_realize; sc->event = menelaus_event; @@ -869,7 +869,7 @@ static void twl92230_class_init(ObjectClass *klass, void *data) static const TypeInfo twl92230_info = { .name = TYPE_TWL92230, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(MenelausState), .class_init = twl92230_class_init, }; diff --git a/hw/sensor/dps310.c b/hw/sensor/dps310.c index 01c776dd7a..bc21024e75 100644 --- a/hw/sensor/dps310.c +++ b/hw/sensor/dps310.c @@ -18,7 +18,7 @@ typedef struct DPS310State { /*< private >*/ - I2CSlave i2c; + I2CTarget i2c; /*< public >*/ uint8_t regs[NUM_REGISTERS]; @@ -133,7 +133,7 @@ static void dps310_write(DPS310State *s, uint8_t reg, uint8_t data) } } -static uint8_t dps310_rx(I2CSlave *i2c) +static uint8_t dps310_rx(I2CTarget *i2c) { DPS310State *s = DPS310(i2c); @@ -144,7 +144,7 @@ static uint8_t dps310_rx(I2CSlave *i2c) } } -static int dps310_tx(I2CSlave *i2c, uint8_t data) +static int dps310_tx(I2CTarget *i2c, uint8_t data) { DPS310State *s = DPS310(i2c); @@ -162,7 +162,7 @@ static int dps310_tx(I2CSlave *i2c, uint8_t data) return 0; } -static int dps310_event(I2CSlave *i2c, enum i2c_event event) +static int dps310_event(I2CTarget *i2c, enum i2c_event event) { DPS310State *s = DPS310(i2c); @@ -192,7 +192,7 @@ static const VMStateDescription vmstate_dps310 = { VMSTATE_UINT8(len, DPS310State), VMSTATE_UINT8_ARRAY(regs, DPS310State, NUM_REGISTERS), VMSTATE_UINT8(pointer, DPS310State), - VMSTATE_I2C_SLAVE(i2c, DPS310State), + VMSTATE_I2C_TARGET(i2c, DPS310State), VMSTATE_END_OF_LIST() } }; @@ -200,7 +200,7 @@ static const VMStateDescription vmstate_dps310 = { static void dps310_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); k->event = dps310_event; k->recv = dps310_rx; @@ -211,7 +211,7 @@ static void dps310_class_init(ObjectClass *klass, void *data) static const TypeInfo dps310_info = { .name = TYPE_DPS310, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(DPS310State), .class_init = dps310_class_init, }; diff --git a/hw/sensor/emc141x.c b/hw/sensor/emc141x.c index 95079558e8..0bc44423b5 100644 --- a/hw/sensor/emc141x.c +++ b/hw/sensor/emc141x.c @@ -30,7 +30,7 @@ #define SENSORS_COUNT_MAX 4 struct EMC141XState { - I2CSlave parent_obj; + I2CTarget parent_obj; struct { uint8_t raw_temp_min; uint8_t raw_temp_current; @@ -42,7 +42,7 @@ struct EMC141XState { }; struct EMC141XClass { - I2CSlaveClass parent_class; + I2CTargetClass parent_class; uint8_t model; unsigned sensors_count; }; @@ -184,7 +184,7 @@ static void emc141x_write(EMC141XState *s) } } -static uint8_t emc141x_rx(I2CSlave *i2c) +static uint8_t emc141x_rx(I2CTarget *i2c) { EMC141XState *s = EMC141X(i2c); @@ -196,7 +196,7 @@ static uint8_t emc141x_rx(I2CSlave *i2c) } } -static int emc141x_tx(I2CSlave *i2c, uint8_t data) +static int emc141x_tx(I2CTarget *i2c, uint8_t data) { EMC141XState *s = EMC141X(i2c); @@ -212,7 +212,7 @@ static int emc141x_tx(I2CSlave *i2c, uint8_t data) return 0; } -static int emc141x_event(I2CSlave *i2c, enum i2c_event event) +static int emc141x_event(I2CTarget *i2c, enum i2c_event event) { EMC141XState *s = EMC141X(i2c); @@ -232,7 +232,7 @@ static const VMStateDescription vmstate_emc141x = { VMSTATE_UINT8(len, EMC141XState), VMSTATE_UINT8(data, EMC141XState), VMSTATE_UINT8(pointer, EMC141XState), - VMSTATE_I2C_SLAVE(parent_obj, EMC141XState), + VMSTATE_I2C_TARGET(parent_obj, EMC141XState), VMSTATE_END_OF_LIST() } }; @@ -268,7 +268,7 @@ static void emc141x_initfn(Object *obj) static void emc141x_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); dc->reset = emc141x_reset; k->event = emc141x_event; @@ -297,7 +297,7 @@ static void emc1414_class_init(ObjectClass *klass, void *data) static const TypeInfo emc141x_info = { .name = TYPE_EMC141X, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(EMC141XState), .class_size = sizeof(EMC141XClass), .instance_init = emc141x_initfn, diff --git a/hw/sensor/lsm303dlhc_mag.c b/hw/sensor/lsm303dlhc_mag.c index 343ff98990..2e2fa74873 100644 --- a/hw/sensor/lsm303dlhc_mag.c +++ b/hw/sensor/lsm303dlhc_mag.c @@ -49,7 +49,7 @@ enum LSM303DLHCMagReg { }; typedef struct LSM303DLHCMagState { - I2CSlave parent_obj; + I2CTarget parent_obj; uint8_t cra; uint8_t crb; uint8_t mr; @@ -299,7 +299,7 @@ static void lsm303dlhc_mag_write(LSM303DLHCMagState *s) /* * Low-level master-to-slave transaction handler. */ -static int lsm303dlhc_mag_send(I2CSlave *i2c, uint8_t data) +static int lsm303dlhc_mag_send(I2CTarget *i2c, uint8_t data) { LSM303DLHCMagState *s = LSM303DLHC_MAG(i2c); @@ -321,7 +321,7 @@ static int lsm303dlhc_mag_send(I2CSlave *i2c, uint8_t data) /* * Low-level slave-to-master transaction handler (read attempts). */ -static uint8_t lsm303dlhc_mag_recv(I2CSlave *i2c) +static uint8_t lsm303dlhc_mag_recv(I2CTarget *i2c) { LSM303DLHCMagState *s = LSM303DLHC_MAG(i2c); uint8_t resp; @@ -412,7 +412,7 @@ static uint8_t lsm303dlhc_mag_recv(I2CSlave *i2c) /* * Bus state change handler. */ -static int lsm303dlhc_mag_event(I2CSlave *i2c, enum i2c_event event) +static int lsm303dlhc_mag_event(I2CTarget *i2c, enum i2c_event event) { LSM303DLHCMagState *s = LSM303DLHC_MAG(i2c); @@ -444,7 +444,7 @@ static const VMStateDescription vmstate_lsm303dlhc_mag = { .minimum_version_id = 0, .fields = (const VMStateField[]) { - VMSTATE_I2C_SLAVE(parent_obj, LSM303DLHCMagState), + VMSTATE_I2C_TARGET(parent_obj, LSM303DLHCMagState), VMSTATE_UINT8(len, LSM303DLHCMagState), VMSTATE_UINT8(buf, LSM303DLHCMagState), VMSTATE_UINT8(pointer, LSM303DLHCMagState), @@ -498,7 +498,7 @@ static void lsm303dlhc_mag_default_cfg(LSM303DLHCMagState *s) */ static void lsm303dlhc_mag_reset(DeviceState *dev) { - I2CSlave *i2c = I2C_SLAVE(dev); + I2CTarget *i2c = I2C_SLAVE(dev); LSM303DLHCMagState *s = LSM303DLHC_MAG(i2c); /* Set the device into its default reset state. */ @@ -533,7 +533,7 @@ static void lsm303dlhc_mag_initfn(Object *obj) static void lsm303dlhc_mag_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); dc->reset = lsm303dlhc_mag_reset; dc->vmsd = &vmstate_lsm303dlhc_mag; @@ -544,7 +544,7 @@ static void lsm303dlhc_mag_class_init(ObjectClass *klass, void *data) static const TypeInfo lsm303dlhc_mag_info = { .name = TYPE_LSM303DLHC_MAG, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(LSM303DLHCMagState), .instance_init = lsm303dlhc_mag_initfn, .class_init = lsm303dlhc_mag_class_init, diff --git a/hw/sensor/tmp105.c b/hw/sensor/tmp105.c index a8730d0b7f..cc5a9e099e 100644 --- a/hw/sensor/tmp105.c +++ b/hw/sensor/tmp105.c @@ -170,7 +170,7 @@ static void tmp105_write(TMP105State *s) } } -static uint8_t tmp105_rx(I2CSlave *i2c) +static uint8_t tmp105_rx(I2CTarget *i2c) { TMP105State *s = TMP105(i2c); @@ -181,7 +181,7 @@ static uint8_t tmp105_rx(I2CSlave *i2c) } } -static int tmp105_tx(I2CSlave *i2c, uint8_t data) +static int tmp105_tx(I2CTarget *i2c, uint8_t data) { TMP105State *s = TMP105(i2c); @@ -199,7 +199,7 @@ static int tmp105_tx(I2CSlave *i2c, uint8_t data) return 0; } -static int tmp105_event(I2CSlave *i2c, enum i2c_event event) +static int tmp105_event(I2CTarget *i2c, enum i2c_event event) { TMP105State *s = TMP105(i2c); @@ -257,7 +257,7 @@ static const VMStateDescription vmstate_tmp105 = { VMSTATE_INT16(temperature, TMP105State), VMSTATE_INT16_ARRAY(limit, TMP105State, 2), VMSTATE_UINT8(alarm, TMP105State), - VMSTATE_I2C_SLAVE(i2c, TMP105State), + VMSTATE_I2C_TARGET(i2c, TMP105State), VMSTATE_END_OF_LIST() }, .subsections = (const VMStateDescription * const []) { @@ -266,7 +266,7 @@ static const VMStateDescription vmstate_tmp105 = { } }; -static void tmp105_reset(I2CSlave *i2c) +static void tmp105_reset(I2CTarget *i2c) { TMP105State *s = TMP105(i2c); @@ -285,7 +285,7 @@ static void tmp105_reset(I2CSlave *i2c) static void tmp105_realize(DeviceState *dev, Error **errp) { - I2CSlave *i2c = I2C_SLAVE(dev); + I2CTarget *i2c = I2C_SLAVE(dev); TMP105State *s = TMP105(i2c); qdev_init_gpio_out(&i2c->qdev, &s->pin, 1); @@ -303,7 +303,7 @@ static void tmp105_initfn(Object *obj) static void tmp105_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); dc->realize = tmp105_realize; k->event = tmp105_event; @@ -314,7 +314,7 @@ static void tmp105_class_init(ObjectClass *klass, void *data) static const TypeInfo tmp105_info = { .name = TYPE_TMP105, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(TMP105State), .instance_init = tmp105_initfn, .class_init = tmp105_class_init, diff --git a/hw/sensor/tmp421.c b/hw/sensor/tmp421.c index b6f0b62ab1..c7ae40f6ce 100644 --- a/hw/sensor/tmp421.c +++ b/hw/sensor/tmp421.c @@ -51,7 +51,7 @@ static const DeviceInfo devices[] = { struct TMP421State { /*< private >*/ - I2CSlave i2c; + I2CTarget i2c; /*< public >*/ int16_t temperature[4]; @@ -67,7 +67,7 @@ struct TMP421State { }; struct TMP421Class { - I2CSlaveClass parent_class; + I2CTargetClass parent_class; DeviceInfo *dev; }; @@ -224,7 +224,7 @@ static void tmp421_read(TMP421State *s) } } -static void tmp421_reset(I2CSlave *i2c); +static void tmp421_reset(I2CTarget *i2c); static void tmp421_write(TMP421State *s) { @@ -244,7 +244,7 @@ static void tmp421_write(TMP421State *s) } } -static uint8_t tmp421_rx(I2CSlave *i2c) +static uint8_t tmp421_rx(I2CTarget *i2c) { TMP421State *s = TMP421(i2c); @@ -255,7 +255,7 @@ static uint8_t tmp421_rx(I2CSlave *i2c) } } -static int tmp421_tx(I2CSlave *i2c, uint8_t data) +static int tmp421_tx(I2CTarget *i2c, uint8_t data) { TMP421State *s = TMP421(i2c); @@ -274,7 +274,7 @@ static int tmp421_tx(I2CSlave *i2c, uint8_t data) return 0; } -static int tmp421_event(I2CSlave *i2c, enum i2c_event event) +static int tmp421_event(I2CTarget *i2c, enum i2c_event event) { TMP421State *s = TMP421(i2c); @@ -298,12 +298,12 @@ static const VMStateDescription vmstate_tmp421 = { VMSTATE_UINT8(status, TMP421State), VMSTATE_UINT8(rate, TMP421State), VMSTATE_INT16_ARRAY(temperature, TMP421State, 4), - VMSTATE_I2C_SLAVE(i2c, TMP421State), + VMSTATE_I2C_TARGET(i2c, TMP421State), VMSTATE_END_OF_LIST() } }; -static void tmp421_reset(I2CSlave *i2c) +static void tmp421_reset(I2CTarget *i2c) { TMP421State *s = TMP421(i2c); TMP421Class *sc = TMP421_GET_CLASS(s); @@ -340,7 +340,7 @@ static void tmp421_realize(DeviceState *dev, Error **errp) static void tmp421_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); TMP421Class *sc = TMP421_CLASS(klass); dc->realize = tmp421_realize; @@ -366,7 +366,7 @@ static void tmp421_class_init(ObjectClass *klass, void *data) static const TypeInfo tmp421_info = { .name = TYPE_TMP421, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(TMP421State), .class_size = sizeof(TMP421Class), .abstract = true, diff --git a/hw/tpm/tpm_tis_i2c.c b/hw/tpm/tpm_tis_i2c.c index 4bb09655b4..e0da615fc8 100644 --- a/hw/tpm/tpm_tis_i2c.c +++ b/hw/tpm/tpm_tis_i2c.c @@ -36,7 +36,7 @@ typedef struct TPMStateI2C { /*< private >*/ - I2CSlave parent_obj; + I2CTarget parent_obj; uint8_t offset; /* offset into data[] */ uint8_t operation; /* OP_SEND & OP_RECV */ @@ -303,7 +303,7 @@ static enum TPMVersion tpm_tis_i2c_get_tpm_version(TPMIf *ti) return tpm_tis_get_tpm_version(s); } -static int tpm_tis_i2c_event(I2CSlave *i2c, enum i2c_event event) +static int tpm_tis_i2c_event(I2CTarget *i2c, enum i2c_event event) { TPMStateI2C *i2cst = TPM_TIS_I2C(i2c); int ret = 0; @@ -336,7 +336,7 @@ static int tpm_tis_i2c_event(I2CSlave *i2c, enum i2c_event event) * otherwise it will be handled using single call to common code and * cached in the local buffer. */ -static uint8_t tpm_tis_i2c_recv(I2CSlave *i2c) +static uint8_t tpm_tis_i2c_recv(I2CTarget *i2c) { int ret = 0; uint32_t data_read; @@ -439,7 +439,7 @@ static uint8_t tpm_tis_i2c_recv(I2CSlave *i2c) * Send function only remembers data in the buffer and then calls * TPM TIS common code during FINISH event. */ -static int tpm_tis_i2c_send(I2CSlave *i2c, uint8_t data) +static int tpm_tis_i2c_send(I2CTarget *i2c, uint8_t data) { TPMStateI2C *i2cst = TPM_TIS_I2C(i2c); @@ -534,7 +534,7 @@ static void tpm_tis_i2c_reset(DeviceState *dev) static void tpm_tis_i2c_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - I2CSlaveClass *k = I2C_SLAVE_CLASS(klass); + I2CTargetClass *k = I2C_TARGET_CLASS(klass); TPMIfClass *tc = TPM_IF_CLASS(klass); dc->realize = tpm_tis_i2c_realizefn; @@ -554,7 +554,7 @@ static void tpm_tis_i2c_class_init(ObjectClass *klass, void *data) static const TypeInfo tpm_tis_i2c_info = { .name = TYPE_TPM_TIS_I2C, - .parent = TYPE_I2C_SLAVE, + .parent = TYPE_I2C_TARGET, .instance_size = sizeof(TPMStateI2C), .class_init = tpm_tis_i2c_class_init, .interfaces = (InterfaceInfo[]) {