From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F788C433EF for ; Mon, 25 Oct 2021 11:12:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E8C5760238 for ; Mon, 25 Oct 2021 11:12:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232796AbhJYLOm (ORCPT ); Mon, 25 Oct 2021 07:14:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230232AbhJYLOm (ORCPT ); Mon, 25 Oct 2021 07:14:42 -0400 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 15CF4C061745; Mon, 25 Oct 2021 04:12:20 -0700 (PDT) Received: by mail-ed1-x531.google.com with SMTP id l13so20991631edi.8; Mon, 25 Oct 2021 04:12:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=DE414Csss+ESJUsxIVSV3LbjKKBbROgWqQe4HOBfb1o=; b=ZyabSViE6U7Oogdi/LL9eL0DoZU1mlE5KHkHL4kMn5iqw3evyYKxGSA/W6q38331bM BwzH90IAxQMTWxLdXZBFrIRih2fY27usQYqwoOop1toa+3X5qgVXvc1SSSkIaifjMG/0 Nn8EUcL1MOUPCUYeDWwvaJGdDkKdIcBzOFHDrsGFP3UAEYKqqwC8UKGzt1d+d+AKgN9Z wQdFk8V/VcpXrC3ZY98ZamMK/2y/sU589/tsO1FFMEwmDqZ4W+Mc5UKF79NVgKWRrklC 2W8tcKHBVZsh2pv3l2f4fM+1M5sUdZLbU57j6ep4wR4Azrw+8nf2Fz26huOrOA/Hpd9W MrRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DE414Csss+ESJUsxIVSV3LbjKKBbROgWqQe4HOBfb1o=; b=TNSjPm7ipHVX8sD52eHcIyniuUWiAO9y3LfdaFSHP5xDYXF0ES/68BjuMWaF0Jdj6u e2aCkRdRFxqOogJ228nA/ELufSXSHnNJUPl42jUMZK7xiuC7GrjI817R548sAIaLpWi9 sEyvZrRSqtvNSi/52wntKyThAWLfbdxL3k6qzw7jVx9//YOli1PoTcczo0tF2KBFaZdi RckDP5le2i9YIHoID4aR6aUl/zYxTNrRgwh8cqGst+gZ9HX4MQJH9A/xq0zxtEwQr73k DTtTPAREiIwfHUhY5emszO+WknbhxtAnms4Eyy7OWP6qabbH/re+rZAcRCXD6hb6vn48 Rw5g== X-Gm-Message-State: AOAM531wyNtFJQoV3TuE2TKpxyeJeHA0b+2C5NJGLFvjzHzCp/WxmQJj t7YFQe5MLydqwOzSd9O7p0D6uVn/4LtCI//rc6o= X-Google-Smtp-Source: ABdhPJxsHqCxc9rcuWSI/uo1379vMzZ34fwIDA/WvIMYTprTuHb5Azjp9WOPaOClk9+sjtE6UnOhGd4VS5+dBo7YQhQ= X-Received: by 2002:a17:906:d553:: with SMTP id cr19mr14174870ejc.128.1635160338586; Mon, 25 Oct 2021 04:12:18 -0700 (PDT) MIME-Version: 1.0 References: <20211025094119.82967-1-hdegoede@redhat.com> <20211025094119.82967-5-hdegoede@redhat.com> In-Reply-To: <20211025094119.82967-5-hdegoede@redhat.com> From: Andy Shevchenko Date: Mon, 25 Oct 2021 14:11:24 +0300 Message-ID: Subject: Re: [PATCH v4 04/11] regulator: Introduce tps68470-regulator driver To: Hans de Goede Cc: "Rafael J . Wysocki" , Mark Gross , Andy Shevchenko , Wolfram Sang , Mika Westerberg , Daniel Scally , Laurent Pinchart , Mauro Carvalho Chehab , Liam Girdwood , Mark Brown , Michael Turquette , Stephen Boyd , Len Brown , ACPI Devel Maling List , Platform Driver , Linux Kernel Mailing List , linux-i2c , Sakari Ailus , Kate Hsuan , Linux Media Mailing List , linux-clk Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org On Mon, Oct 25, 2021 at 12:41 PM Hans de Goede wrote: > > The TPS68470 PMIC provides Clocks, GPIOs and Regulators. At present in > the kernel the Regulators and Clocks are controlled by an OpRegion > driver designed to work with power control methods defined in ACPI, but > some platforms lack those methods, meaning drivers need to be able to > consume the resources of these chips through the usual frameworks. > > This commit adds a driver for the regulators provided by the tps68470, > and is designed to bind to the platform_device registered by the > intel_skl_int3472 module. > > This is based on this out of tree driver written by Intel: > https://github.com/intel/linux-intel-lts/blob/4.14/base/drivers/regulator/tps68470-regulator.c > with various cleanups added. > +struct tps68470_regulator_data { > + struct clk *clk; > +}; ... > +/* > + * (1) This register must have same setting as VIOVAL if S_IO LDO is used to > + * power daisy chained IOs in the receive side. > + * (2) If there is no I2C daisy chain it can be set freely. > + * Redundant empty line. > + */ ... > + struct tps68470_regulator_platform_data *pdata = pdev->dev.platform_data; dev_get_platdata() ? ... > + data->clk = devm_clk_get(&pdev->dev, "tps68470-clk"); > + if (IS_ERR(data->clk)) { > + dev_err(&pdev->dev, "Error getting tps68470-clk\n"); > + return PTR_ERR(data->clk); > + } return dev_err_probe(...); ... > + rdev = devm_regulator_register(&pdev->dev, ®ulators[i], &config); > + if (IS_ERR(rdev)) { > + dev_err(&pdev->dev, "failed to register %s regulator\n", > + regulators[i].name); > + return PTR_ERR(rdev); > + } Ditto. -- With Best Regards, Andy Shevchenko