Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp119375imm; Tue, 5 Jun 2018 16:14:37 -0700 (PDT) X-Google-Smtp-Source: ADUXVKL3D3l4rg5BkKFtndyErvDApcRRfVmcBBDr/CZN+F1tevLxDX83MFqx/V/96WJtGBrSuZBL X-Received: by 2002:a62:ab0e:: with SMTP id p14-v6mr544723pff.211.1528240477631; Tue, 05 Jun 2018 16:14:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528240477; cv=none; d=google.com; s=arc-20160816; b=YosZLcILlqNc+zNiIAhbaXMseuVbIq1fUBCy954Er69Thg73fMqyOdzlWRE/pfHoAh teCl/loR4BHiAtk7VsZRHaIQrbM7e4wSiXQeRkeadtS2C3nxZDUHCIamd1AtDdK5du9P fpnVmhrcSChJJ16gnKKxseHtksulY67fF1HGEYj2V5qAhjWIHMfat0nLysukJCZ4kKJj C5E9DX8RKlvhkYpRyA2A5sjFEpqhIvdV+cL60rv5SAtS5ZcPnCZTEaEDPZgKZ7sm1VOm SCfIADaHol9V1uTJT6EdQxaS5avtVwc/4LXjAkcyBV8YfEWq+vvuEe3bTTHyXCV6SK4r 1LFA== 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=YImH9WjRhIlG8zpD3R7JlnDeoJF2PxDHSQZ4Y21jP4w=; b=i9mgqwsOG8J92EE5t61G/C/6WXI2OQpG/4azrAbFvYZuCkQmRtNwSYIFXqLoMMD2sA G5PmOW1ooVhg70hO6K4id6F7MQhqQ+z9nwgbeapC8z9rXMnk6hvEddLyGI6MmmJd+goe 6PtWfWrhGMDnAA90Oef+RQbepmuNM/YXF1K253bQM6SkkXELE3tWrzcPtgjCjUop7QGe teNasqvfHz5gCGOpf/2ry+qGRZi5K3r0D1WuY6GNKV5BWZx72c7L9oYI63AmQ2B9fLam T8cdtFsig4cdbm7jgp4rDnA4BuWpnpLI/hzMKy4OUx2WpynWvdbD95fM5icci8r/piTk zPCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=qaFZrWKh; 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 n1-v6si9385031pgq.402.2018.06.05.16.14.23; Tue, 05 Jun 2018 16:14:37 -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=qaFZrWKh; 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 S1752853AbeFEXMc (ORCPT + 99 others); Tue, 5 Jun 2018 19:12:32 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:40839 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752697AbeFEXKk (ORCPT ); Tue, 5 Jun 2018 19:10:40 -0400 Received: by mail-wm0-f68.google.com with SMTP id n5-v6so8234084wmc.5; Tue, 05 Jun 2018 16:10:39 -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=YImH9WjRhIlG8zpD3R7JlnDeoJF2PxDHSQZ4Y21jP4w=; b=qaFZrWKhsyGdDdRX7E/NA9P+YLojoZMBpDfFZLX1GsSIKIktt07oh5h3Si1IPaaVPp ZRXqa3BmXGr9LkVs1ERkkvyKVwmeEHJV8ecvVl5OrsvcyuFqFEPIDxXvTaakdkOwtldp JuFJGaWJKuhDC4j/AU7CosPBhY7y8XYd5KSDBG0/w0/Ux5GclrVUQnwnCtO7b8k1YiNz 5YGoWQD0bx2GfWxg6QVPLYFjXmo/xqg43YXgscsdsNBcpKafQdpCMQE8JDp5r7ndNSqF kOdjGx8yW9PeiiD5ZXtUqo6LKhm3DVOIYkcuffPh/1HOepm2UGta0xO2rqFtMvP6UM9N 1K1Q== 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=YImH9WjRhIlG8zpD3R7JlnDeoJF2PxDHSQZ4Y21jP4w=; b=Euyplu7SSKX0pKr5TE4osNRs6yLozAW75wvu7duDM1eb4xRLJJZBgdUqP5Ormk+1Iw QVKTMTMDFYTNMShsFaLug4X61KX6s0/iJEDqv3DPdAw+t/ZBWa2zjQda3jw6UuwMh6cp 4Ur9r4UwiTZmzyyk3+IOycUA6jN6H+CY/3BjoJv751ZBYl2L28MapCTJuGoH28BXonIw NrVzvF83R1vfVas04bcFlhVRmfgFN8LzY0WIn7pIjQOt5g806mZ4r5FVuj1cF0HMkdru T9x1QXqMIDM9b3Q+dV5UrJWxaxXpY3uuEs8Ibp8gJ3zdfR6hnD3EloliZxzOb43QtkP/ RMFw== X-Gm-Message-State: APt69E2e/yXw/xFzsW0lmKOYreud0N5ZZyCVgAnV0+hLMXvUdk5Xu0+/ E4xXpa6wELUXYYIPnTB12Hm47RsQ X-Received: by 2002:a1c:e184:: with SMTP id y126-v6mr115469wmg.128.1528240238070; Tue, 05 Jun 2018 16:10:38 -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 19-v6sm63671454wrz.7.2018.06.05.16.10.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Jun 2018 16:10:37 -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 v4 06/12] mfd: da9063: Replace model with type Date: Wed, 6 Jun 2018 01:10:07 +0200 Message-Id: <20180605231013.1803-6-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180605231013.1803-1-marek.vasut+renesas@gmail.com> References: <20180605231013.1803-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 --- 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 a21a771f6177..9aff815877c0 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 7f84030c8d53..048ce55ebc5b 100644 --- a/drivers/mfd/da9063-i2c.c +++ b/drivers/mfd/da9063-i2c.c @@ -236,7 +236,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; @@ -248,6 +248,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; @@ -280,7 +281,7 @@ static int da9063_i2c_remove(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 5fed1c874926..6caf23483e8e 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, @@ -75,7 +79,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