Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp605380imm; Wed, 6 Jun 2018 03:03:13 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLzGRe7LrzvtfFEQRvI6Fn7jbEEF570AIXQGFO58AzG7t2klmZv+6x8lMVC5ycRgMWDtjej X-Received: by 2002:a62:9f16:: with SMTP id g22-v6mr1748289pfe.207.1528279393227; Wed, 06 Jun 2018 03:03:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528279393; cv=none; d=google.com; s=arc-20160816; b=Fo6UXPlKlPn35SGkER9GXkUxYzTdvZOoXDaGtY6+FnGu5EWOPZcGHPU0f5keNCbDZF 2yHd+lb3zpEUWgZI9+JSpV0sj8BoXjbw+4bqs3ieL0K5yFJowCL3cuVR4yv0yeaXh7/V Xf6KvcTLULkq3SRyMsI8kb49kUUid4uuOfp0dPZri7NriZsW+lt3gorHYTH1u1UWQJA9 V5eqFkEYrv42UUGnRBOgiLQ2SxC96OtFaHR68Z5bAC8N0TbgGOLjKMtIaPcX05dqU5em q/vFC7JbstECmVh39RTgj4etCB5T5wZmt9TonHCY46RIAojZpYgZmcEiXdm6boVjCuOy tjHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=/gjTgrtI9+I34obVTifipyJ/BI9ItNeBDFUsAwe67/w=; b=HaYvGtjjs2vr+OveFcdjdCqmR2jc1a6VaQ0RXZaDJDSQ1EMX24Xg8I5NluF+Dyr1VV zzFFyZHAWdJYqHZjoaOh4tMD3AO2Jw7ghRDyjhhs28MFA2Ha4z6SPTQmcFD5r7N2+o14 94ONbUUSCsvHydhoNn1oRxpcspxhf9c9nPgjtzlGlt0EYdt2ISIs9pa7AfYRndhNiCsN J2b4D2HaQCTJwlr3/5UG8y3NYvWkn1u8cgWHEc/xbekSZlkRJn04aNS4rmgNW9WnAJcZ oaPbkdHi+VLp7kv+gGkGXt+RQ4pWlxUVGrYZSMm9VD4q1M1Gfz2TNhPQw+yidW3QWHGQ HOQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=hpxSN/UP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p21-v6si11679688pgv.112.2018.06.06.03.02.58; Wed, 06 Jun 2018 03:03:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=hpxSN/UP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932694AbeFFKCC (ORCPT + 99 others); Wed, 6 Jun 2018 06:02:02 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:35083 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932573AbeFFKAb (ORCPT ); Wed, 6 Jun 2018 06:00:31 -0400 Received: by mail-wm0-f66.google.com with SMTP id j15-v6so10841201wme.0; Wed, 06 Jun 2018 03:00:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/gjTgrtI9+I34obVTifipyJ/BI9ItNeBDFUsAwe67/w=; b=hpxSN/UPD7EK+FsqUICwkZYGR5nhuCJkStlEK/mrG6wdLkNXYH8kjzJhCg83MpBltr I3gZsX7ODRUovymDnoElYhsNMzSqOqX00hjrLmEtqIKqtD6LCAb04UZQfL+WRqESs2ds L/oz2kXlqQlXsRkI3lIKrzM7tJxewjXiD3c6TkgDZfjHOW4xwFrHVDp45XdedAia1a6X 76BUDuzLlEut4b4CVHIzaRTaWYvjfpxA/G2+8D/JMt6I8peRwxlw/w514OUJtb+Y+gCO M51Yziz1nIfjyaflEEotadH4JchC1LqfxYR2CVrInnAqbfR/GrERd9H88Iaxr0/Vrkqp EBxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/gjTgrtI9+I34obVTifipyJ/BI9ItNeBDFUsAwe67/w=; b=lMRxyp6bnP7tGES2kfcwhDiGCMqyGe2LvtEestehb9k7cWspu5XZgI5O1b46ijRgmx NXCd90NRXDjKPSuFG/FkROW4T2hsKbaTgHJHdzZOfl16W+t7uIk6X7+7BLgpLv/wtl3n TFliGijNlkupU0lASuNyoe0fhZSVt/Gin2RozlMag6zVApMrMMgXCJtQ6sppqQmTi5TW fcZxcrF41v3rwBQlBKbYM6Ucv2FuFzVhsKx9wMORuktp9bbQC/7IJkEQjZBHtj80kYoy Qf1zFjkKSwXlJJ8mTux0vRxnGWXchQW+jeAQEkmUTlt3mRPDL+/cMafkxqICEt3VZLGM JyXQ== X-Gm-Message-State: APt69E0ib0CJ3eMPtZY3GsOL8JAVBoCOovFM+SWsLNqXOeqGlHfmWrtl h94eLJzxsVTKpHJ872NlAO4Tcumu X-Received: by 2002:a1c:6744:: with SMTP id b65-v6mr1233607wmc.9.1528279229472; Wed, 06 Jun 2018 03:00:29 -0700 (PDT) Received: from kurokawa.lan (ip-86-49-107-50.net.upcbroadband.cz. [86.49.107.50]) by smtp.gmail.com with ESMTPSA id t124-v6sm1127003wmt.29.2018.06.06.03.00.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 06 Jun 2018 03:00:28 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: linux-kernel@vger.kernel.org Cc: Marek Vasut , Geert Uytterhoeven , Lee Jones , Mark Brown , Steve Twiss , Wolfram Sang , linux-renesas-soc@vger.kernel.org Subject: [PATCH v5 08/14] mfd: da9063: Replace model with type Date: Wed, 6 Jun 2018 11:59:57 +0200 Message-Id: <20180606100003.17067-8-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180606100003.17067-1-marek.vasut+renesas@gmail.com> References: <20180606100003.17067-1-marek.vasut+renesas@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The model number stored in the struct da9063 is the same for all variants of the da9063 since it is the chip ID, which is always the same. Replace that with a separate identifier instead, which allows us to discern the DA9063 variants by setting the type based on either DT match or otherwise. Signed-off-by: Marek Vasut Cc: Geert Uytterhoeven Cc: Lee Jones Cc: Mark Brown Cc: Steve Twiss Cc: Wolfram Sang Cc: linux-renesas-soc@vger.kernel.org Acked-by: Mark Brown Reviewed-by: Geert Uytterhoeven Acked-for-MFD-by: Lee Jones --- V2: Drop useless cast of id->driver_data V3: Fix kernel 0day error , s/dev_model/type/ V4: No change V5: No change --- drivers/mfd/da9063-core.c | 1 - drivers/mfd/da9063-i2c.c | 5 +++-- drivers/regulator/da9063-regulator.c | 6 +++--- include/linux/mfd/da9063/core.h | 6 +++++- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/mfd/da9063-core.c b/drivers/mfd/da9063-core.c index c54777cc2f12..ded59990f18c 100644 --- a/drivers/mfd/da9063-core.c +++ b/drivers/mfd/da9063-core.c @@ -215,7 +215,6 @@ int da9063_device_init(struct da9063 *da9063, unsigned int irq) return -ENODEV; } - da9063->model = model; da9063->variant_code = variant_code; ret = da9063_irq_init(da9063); diff --git a/drivers/mfd/da9063-i2c.c b/drivers/mfd/da9063-i2c.c index d1fe88777e3f..6fe9c3464b41 100644 --- a/drivers/mfd/da9063-i2c.c +++ b/drivers/mfd/da9063-i2c.c @@ -146,7 +146,7 @@ static const struct of_device_id da9063_dt_ids[] = { }; MODULE_DEVICE_TABLE(of, da9063_dt_ids); static int da9063_i2c_probe(struct i2c_client *i2c, - const struct i2c_device_id *id) + const struct i2c_device_id *id) { struct da9063 *da9063; int ret; @@ -158,6 +158,7 @@ static int da9063_i2c_probe(struct i2c_client *i2c, i2c_set_clientdata(i2c, da9063); da9063->dev = &i2c->dev; da9063->chip_irq = i2c->irq; + da9063->type = id->driver_data; if (da9063->variant_code == PMIC_DA9063_AD) { da9063_regmap_config.rd_table = &da9063_ad_readable_table; @@ -181,7 +182,7 @@ static int da9063_i2c_probe(struct i2c_client *i2c, } static const struct i2c_device_id da9063_i2c_id[] = { - { "da9063", PMIC_CHIP_ID_DA9063 }, + { "da9063", PMIC_TYPE_DA9063 }, {}, }; MODULE_DEVICE_TABLE(i2c, da9063_i2c_id); diff --git a/drivers/regulator/da9063-regulator.c b/drivers/regulator/da9063-regulator.c index 87c884ae0064..eeb0d431dda1 100644 --- a/drivers/regulator/da9063-regulator.c +++ b/drivers/regulator/da9063-regulator.c @@ -98,7 +98,7 @@ struct da9063_regulator_info { struct da9063_dev_model { const struct da9063_regulator_info *regulator_info; unsigned n_regulators; - unsigned dev_model; + enum da9063_type type; }; /* Single regulator settings */ @@ -585,7 +585,7 @@ static struct da9063_dev_model regulators_models[] = { { .regulator_info = da9063_regulator_info, .n_regulators = ARRAY_SIZE(da9063_regulator_info), - .dev_model = PMIC_CHIP_ID_DA9063, + .type = PMIC_TYPE_DA9063, }, { } }; @@ -741,7 +741,7 @@ static int da9063_regulator_probe(struct platform_device *pdev) /* Find regulators set for particular device model */ for (model = regulators_models; model->regulator_info; model++) { - if (model->dev_model == da9063->model) + if (model->type == da9063->type) break; } if (!model->regulator_info) { diff --git a/include/linux/mfd/da9063/core.h b/include/linux/mfd/da9063/core.h index e015b065db7e..9e36097adc42 100644 --- a/include/linux/mfd/da9063/core.h +++ b/include/linux/mfd/da9063/core.h @@ -31,6 +31,10 @@ #define PMIC_CHIP_ID_DA9063 0x61 +enum da9063_type { + PMIC_TYPE_DA9063 = 0, +}; + enum da9063_variant_codes { PMIC_DA9063_AD = 0x3, PMIC_DA9063_BB = 0x5, @@ -73,7 +77,7 @@ enum da9063_irqs { struct da9063 { /* Device */ struct device *dev; - unsigned short model; + enum da9063_type type; unsigned char variant_code; unsigned int flags; -- 2.16.2