Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp2468497ybv; Mon, 24 Feb 2020 05:51:57 -0800 (PST) X-Google-Smtp-Source: APXvYqyb4SvVlkl0yoGU0XuKjBRQ2vYZZdUuHLfGoaR680XthHUNzXCVj1GWInj+SZxueKlzBdjz X-Received: by 2002:a9d:7602:: with SMTP id k2mr40623883otl.39.1582552317736; Mon, 24 Feb 2020 05:51:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582552317; cv=none; d=google.com; s=arc-20160816; b=zGt996jGJjBIWl+cH/YQGMbrx4kz1HJZBZdNVPKdeyrVDV1JblRnZUj0b9lG3YY/sG feGMY7wH6pBTfC8gRw9ud5LC6WEmW2S2Q/EDglREP7ScAIUB1En22h+5nu49InUhwHSB S7rhB83SFRw4SgEDEczQNpRNPFGpB40hpDugYBheZR1IKR3QTySBxXawcZk5360AqeeG JBJzmcXz2vUF7DneFRjtPbWxYv0BSOYBYCR9aUl2cgV6520lQlgWGPZMAX/7Q5lqS4Vo TqBp3KTfbf577HcMWNpoKv0Syelb4vCEY+/ifx5UyjOq3+RVH7jjvrW+ufSBpIVI+uxM 32pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter; bh=EzeGv53Ui4L1MziFSWesdry8RRpPQMeyYmWPuFhfIA0=; b=L0fOrAsjZgHk44AvATj0QvWwnP3lKJxDmyTurDim+SQ0mU9RMsO7MaH5gage3UkNUj TKjATuLpNE1OlmyZEQEANeCfPAwSr/nVPuFrp8FktuSHpAZ2prSXRHIKCE6nPsxb00ue 3nkPFqfok/f6fykJdjz/QpoWJqYKnfqGxmI0A56MKEweEGOJoKiLDh0FczkqIW0ZQ6oL ugl9PkJCLf+w/LxO5LCbtUivQeMlCM6BYxtTWtGzG5KlBKyWWYI3ByLhHouyNkVMUSjj x7o1998rbTurJn1P/5IuqsogE63Vrt97R5wkn7rG1naoXTa+zdmwTvtcVh2r66u/Vbtv WURw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=LEA3mgsi; 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=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p19si6091717otq.296.2020.02.24.05.51.45; Mon, 24 Feb 2020 05:51:57 -0800 (PST) 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=@samsung.com header.s=mail20170921 header.b=LEA3mgsi; 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=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727573AbgBXNvf (ORCPT + 99 others); Mon, 24 Feb 2020 08:51:35 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:55258 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727504AbgBXNve (ORCPT ); Mon, 24 Feb 2020 08:51:34 -0500 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200224135133euoutp0266e5c94a23397217a6288ec48cc527c1~2Wu0FrnX62904829048euoutp02K for ; Mon, 24 Feb 2020 13:51:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200224135133euoutp0266e5c94a23397217a6288ec48cc527c1~2Wu0FrnX62904829048euoutp02K DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1582552293; bh=EzeGv53Ui4L1MziFSWesdry8RRpPQMeyYmWPuFhfIA0=; h=From:To:Cc:Subject:Date:References:From; b=LEA3mgsis/be8V9IuHN5/2l5fTpTkoF6KnpTVldxVhFqBqkvLa+SbIc5ewOWXYMqp 6xdcjV6rkx9+TyK1p3V/5EfkokYqzZEMsxURrwXeYJzmurMCHgh+DelliZy3/lV0Pc +NO9IT55lo3iP9//CzK1OZT0xEbAUf5so3BwMqvs= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20200224135132eucas1p27fc7695f55c0537660d0142c827ddff8~2Wuz2S5Ol2987629876eucas1p2u; Mon, 24 Feb 2020 13:51:32 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 23.82.60679.4E4D35E5; Mon, 24 Feb 2020 13:51:32 +0000 (GMT) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200224135132eucas1p22bb497f3d77452c531dc3d6658d26ff3~2WuzfFB__2993529935eucas1p28; Mon, 24 Feb 2020 13:51:32 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200224135132eusmtrp18acc57360217780c55163a2266331ebd~2WuzedBm23154231542eusmtrp1F; Mon, 24 Feb 2020 13:51:32 +0000 (GMT) X-AuditID: cbfec7f4-0e5ff7000001ed07-80-5e53d4e45c8f Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id F7.6F.08375.4E4D35E5; Mon, 24 Feb 2020 13:51:32 +0000 (GMT) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200224135132eusmtip1c1375166c17b8ebafe9fa03189b1ca7e~2WuzHqWAT0548905489eusmtip1y; Mon, 24 Feb 2020 13:51:32 +0000 (GMT) From: Marek Szyprowski To: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Marek Szyprowski , Mark Brown , Sylwester Nawrocki , Lee Jones , Bartlomiej Zolnierkiewicz Subject: [PATCH 1/2] mfd: wm8994: Fix driver operation if loaded as modules Date: Mon, 24 Feb 2020 14:51:22 +0100 Message-Id: <20200224135123.27301-1-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPIsWRmVeSWpSXmKPExsWy7djP87pPrgTHGZxq0LW4cvEQk8XGGetZ LaY+fMJmcf/rUUaLy7vmsFmsPXKX3eLwm3ZWB3aPDZ+b2Dw2repk87hzbQ+bR9+WVYwenzfJ BbBGcdmkpOZklqUW6dslcGXse36QreAiV8WeE/tZGxifcXQxcnJICJhIdEyfy9LFyMUhJLCC UWLHvXdsEM4XRomHJx6yQzifGSW2TlvKCtPybucpZojEckaJiw8bGOFaZu5fwQ5SxSZgKNH1 tosNxBYRsJV4vaMBbAmzwE2gJXf6gBwODmEBb4mLlxRBTBYBVYmv61lAynmByn/92MoIsUxe YvWGA2DLJASus0lceXyaBSLhIjF7+wooW1ji1fEt7BC2jMTpyT0sEA3NQD+cW8sO4fQwSlxu mgE11lrizrlfbCCbmQU0Jdbv0ocIO0o0z/3PDhKWEOCTuPFWECTMDGRO2jadGSLMK9HRJgRR rSYx6/g6uLUHL1xihrA9JDq2PwAHlpBArETHuu9MExjlZiHsWsDIuIpRPLW0ODc9tdgoL7Vc rzgxt7g0L10vOT93EyMwGZz+d/zLDsZdf5IOMQpwMCrx8ErsDY4TYk0sK67MPcQowcGsJMLr zRgUJ8SbklhZlVqUH19UmpNafIhRmoNFSZzXeNHLWCGB9MSS1OzU1ILUIpgsEwenVANjxe41 P5+p/eP/XfRxymy7J3M28aw0EfU/dcqj92rR9bSOhIAZzXYXLS2uH2HcszXKeWdnjLjVpB4p Xd57LgxHSg6lL6s69Cxpa6hX4osFSVmO5j38+W+/zmh7sqdmWu+j3H+l/feCEw27WW5/XL5Q ydczyq0gg/8zz2S12mnbP9RorqzbaCmsxFKckWioxVxUnAgAuhwRtwIDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrMLMWRmVeSWpSXmKPExsVy+t/xu7pPrgTHGfTulLS4cvEQk8XGGetZ LaY+fMJmcf/rUUaLy7vmsFmsPXKX3eLwm3ZWB3aPDZ+b2Dw2repk87hzbQ+bR9+WVYwenzfJ BbBG6dkU5ZeWpCpk5BeX2CpFG1oY6RlaWugZmVjqGRqbx1oZmSrp29mkpOZklqUW6dsl6GXs e36QreAiV8WeE/tZGxifcXQxcnJICJhIvNt5irmLkYtDSGApo8T7bwfZIRIyEienNbBC2MIS f651sUEUfWKUuHLvBSNIgk3AUKLrLUiCk0NEwF7iwa9/YDazwF2gotd+XYwcHMIC3hIXLymC mCwCqhJf17OAVPAK2Er8+rGVEWK8vMTqDQeYJzDyLGBkWMUoklpanJueW2yoV5yYW1yal66X nJ+7iREYgNuO/dy8g/HSxuBDjAIcjEo8vBJ7g+OEWBPLiitzDzFKcDArifB6MwbFCfGmJFZW pRblxxeV5qQWH2I0Bdo9kVlKNDkfGB15JfGGpobmFpaG5sbmxmYWSuK8HQIHY4QE0hNLUrNT UwtSi2D6mDg4pRoYZXWi8vm938veWCzDWKvGPjdAa032zbmeUut3f/IIKJxQqVtwQ/LDvjmT r9a3X36hG/vlmf6sWayPj326V/1Z5mjj2Xfh9qUWq3YHb3qW5HjP8+D5+MYln+MsBHb6ym1p MLSpPPtIyMW4bIbSlnqu4iaVgFxf1obE8woeh0xPvyyY7SnPlCqvxFKckWioxVxUnAgA13rj AlYCAAA= X-CMS-MailID: 20200224135132eucas1p22bb497f3d77452c531dc3d6658d26ff3 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20200224135132eucas1p22bb497f3d77452c531dc3d6658d26ff3 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200224135132eucas1p22bb497f3d77452c531dc3d6658d26ff3 References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org WM8994 chip has built-in regulators, which might be used for chip operation. They are controlled by a separate wm8994-regulator driver, which should be loaded before this driver calls regulator_get(), because that driver also provides consumer-supply mapping for the them. If that driver is not yet loaded, regulator core substitute them with dummy regulator, what breaks chip operation, because the built-in regulators are never enabled. Fix this by adding a comment and a call to module_request() helper. Signed-off-by: Marek Szyprowski --- drivers/mfd/wm8994-core.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c index 1e9fe7d92597..f15f12d8bccc 100644 --- a/drivers/mfd/wm8994-core.c +++ b/drivers/mfd/wm8994-core.c @@ -321,6 +321,13 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq) int ret, i, patch_regs = 0; int pulls = 0; + /* + * Request a driver for built-in regulators first, because they are + * default supplies for "AVDD1" and "DCVDD". Otherwise, getting them + * fails due to lack of consumer mapping defined by that driver. + */ + request_module("wm8994_regulator"); + if (dev_get_platdata(wm8994->dev)) { pdata = dev_get_platdata(wm8994->dev); wm8994->pdata = *pdata; -- 2.17.1