Received: by 2002:a05:6358:7058:b0:131:369:b2a3 with SMTP id 24csp10604009rwp; Fri, 21 Jul 2023 01:45:27 -0700 (PDT) X-Google-Smtp-Source: APBJJlEZ3yCJLJM/wy1WRyIefcqHa6BmJCm/Tbh6bd6JRbHItIyWa1LG6cR3ni8jhrjUSa5hjlz5 X-Received: by 2002:a17:907:760d:b0:993:e752:1a6a with SMTP id jx13-20020a170907760d00b00993e7521a6amr1061735ejc.21.1689929127666; Fri, 21 Jul 2023 01:45:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689929127; cv=none; d=google.com; s=arc-20160816; b=Fgd/zE2TDhbOB9jxUV1jgEg2PG2/H3BVuXjaRhG8c1lm6F+REYIHADU00oGXFmrjS9 ASHD25jA1fJw+2gvdJUXAKP4GWLwRmBrXzN7xMrl0Z9/1DyU03BKhD/om3xXnSU3rmBm gjOU64gIr9maKyfGGxG1CwTidFkVA7mZK4JlVX+QN4apMqLRkaN/mOHvYTK1pbvCmR+p u9oJW8dGyoW301M5A69nmKWK9Y4BnXL9HdJelinZWBA3tFt4AyU0bEKL+i0KvUZ62mC1 EWSL9wi+hoN3TXOrayLuZrInCW4znhcXE1+U9Koc4GIXvaRX4HN4Bo95IM5LR8gEhrFU 0dAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ys0r8p0mIPfGi9bl8X8cEqDLnuWcCtUcJ0oWQjuIrRg=; fh=SfnTO7GpW3zzB964eh5mthfKZWMy4oqbu80hrCJiJEw=; b=HuQ2Jg7cHbXnXC06c1EHURRk+2iNFOsJ+HqnIWRK3w8r30l8uaTGKcRLHJlooJRyt6 FbzDR/8Bi4hGmo9PH1MXWWC3/1P/n5O3FX14F3+nMBqQz8JpGiAlY6i3k0s9nXQi7rqY cWwXSFq/NtW/9OICAwStJASESua3vg+Q01EV4K3CS9kZ4nChmrvKHkWxy4Ivn++mGpMz hxHusMLMtwQ+iACBg+3qlh3NFL8v7GDLBufgZ0mz3VV2/CXntVdYjKv25snCWxoBYYXH QJu/gQ9z2/wEyyUTqh5g21QefqK2G+hzjXz5Ok47/MUNFaLxDioZEu3hyU1LHzXOgzOs oLxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=J652JuDY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i13-20020a170906250d00b0099396527229si1796905ejb.65.2023.07.21.01.44.58; Fri, 21 Jul 2023 01:45:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=J652JuDY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231558AbjGUI3y (ORCPT + 99 others); Fri, 21 Jul 2023 04:29:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231530AbjGUI3l (ORCPT ); Fri, 21 Jul 2023 04:29:41 -0400 Received: from mail-oo1-xc2c.google.com (mail-oo1-xc2c.google.com [IPv6:2607:f8b0:4864:20::c2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D054273C for ; Fri, 21 Jul 2023 01:29:38 -0700 (PDT) Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-563439ea4a2so1076785eaf.0 for ; Fri, 21 Jul 2023 01:29:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1689928178; x=1690532978; 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=ys0r8p0mIPfGi9bl8X8cEqDLnuWcCtUcJ0oWQjuIrRg=; b=J652JuDYAUtc/gckkv+10/iqRTK8vq4DdfVxBL10Azkhg6LCGGDB2uj/ANrRKkQrzL oy4UiFu28vAWj08W733djKdD6OJF2mBh8P1kPIR2sgnFzCeqE/PU4Y5AxdV4bJMUjEVP KAO+43rtUglLxW1awsbDFwicekL2Rfoh8c+10= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689928178; x=1690532978; 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=ys0r8p0mIPfGi9bl8X8cEqDLnuWcCtUcJ0oWQjuIrRg=; b=lABbo9mh2tl3xEidytpWLrBQ/dm1UODkuWDu8VFRt2qH456zhp1jlnCsmItQ+Km61l CtFxi0O9V7kRA5PFKvmyiD5CUM3ApFSP1izsldyELBUCzi02f1DYJ4RLekdDA9utmE2+ qhLH1+pLss+WR8IFKHfHn4af9ByC4an0NLnBro634yKp1wfGdylh8Yp/qwP2oWe34U0N +uKNTnDZ/Joq67rMwapKwTLaCe80t/0zKqUMqrVmCUaFQo1XaDbqh17jM+LdZrcRJEuw OayY9S7poHXVCT4Mm+i9qPf22rsnAYE4m9IRei9jiBsxJh46uoAeh6KRymyL8MMYligf cibw== X-Gm-Message-State: ABy/qLbyknlcblw2q36zJ5PiBGhkjhJpKAo5zCXv7JSE3ktbFnXYlueB 3U8r/Bzb9WctENk5YOzX/+/0+Q== X-Received: by 2002:a05:6358:27a8:b0:135:6d9:2399 with SMTP id l40-20020a05635827a800b0013506d92399mr1442813rwb.30.1689928177700; Fri, 21 Jul 2023 01:29:37 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:6d86:d21:714:abab]) by smtp.gmail.com with ESMTPSA id d26-20020a63991a000000b0055fe64fd3f4sm2594382pge.9.2023.07.21.01.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jul 2023 01:29:37 -0700 (PDT) From: Chen-Yu Tsai To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Mark Brown , Liam Girdwood , Matthias Brugger , AngeloGioacchino Del Regno Cc: Chen-Yu Tsai , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH RESEND v2 4/7] regulator: mt6358: Fail probe on unknown chip ID Date: Fri, 21 Jul 2023 16:28:56 +0800 Message-ID: <20230721082903.2038975-5-wenst@chromium.org> X-Mailer: git-send-email 2.41.0.487.g6d72f3e995-goog In-Reply-To: <20230721082903.2038975-1-wenst@chromium.org> References: <20230721082903.2038975-1-wenst@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The MT6358 and MT6366 PMICs, and likely many others from MediaTek, have a chip ID register, making the chip semi-discoverable. The driver currently supports two PMICs and expects to be probed on one or the other. It does not account for incorrect mfd driver entries or device trees. While these should not happen, if they do, it could be catastrophic for the device. The driver should be sure the hardware is what it expects. Make the driver fail to probe if the chip ID presented is not a known one. Suggested-by: AngeloGioacchino Del Regno Fixes: f0e3c6261af1 ("regulator: mt6366: Add support for MT6366 regulator") Signed-off-by: Chen-Yu Tsai --- drivers/regulator/mt6358-regulator.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c index b9cda2210c33..a1eae45f5fee 100644 --- a/drivers/regulator/mt6358-regulator.c +++ b/drivers/regulator/mt6358-regulator.c @@ -676,12 +676,18 @@ static int mt6358_regulator_probe(struct platform_device *pdev) const struct mt6358_regulator_info *mt6358_info; int i, max_regulator, ret; - if (mt6397->chip_id == MT6366_CHIP_ID) { - max_regulator = MT6366_MAX_REGULATOR; - mt6358_info = mt6366_regulators; - } else { + switch (mt6397->chip_id) { + case MT6358_CHIP_ID: max_regulator = MT6358_MAX_REGULATOR; mt6358_info = mt6358_regulators; + break; + case MT6366_CHIP_ID: + max_regulator = MT6366_MAX_REGULATOR; + mt6358_info = mt6366_regulators; + break; + default: + dev_err(&pdev->dev, "unsupported chip ID: %d\n", mt6397->chip_id); + return -EINVAL; } ret = mt6358_sync_vcn33_setting(&pdev->dev); -- 2.41.0.487.g6d72f3e995-goog