Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752933AbdLGKxI (ORCPT ); Thu, 7 Dec 2017 05:53:08 -0500 Received: from mx0b-001ae601.pphosted.com ([67.231.152.168]:35692 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752656AbdLGKxF (ORCPT ); Thu, 7 Dec 2017 05:53:05 -0500 Authentication-Results: ppops.net; spf=none smtp.mailfrom=rf@opensource.wolfsonmicro.com Subject: Re: [PATCH v6 03/17] mfd: madera: Add common support for Cirrus Logic Madera codecs To: Linus Walleij CC: Lee Jones , Mark Brown , Alexandre Courbot , Rob Herring , Thomas Gleixner , Jason Cooper , , "open list:WOLFSON MICROELECTRONICS DRIVERS" , , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "linux-kernel@vger.kernel.org" , Charles Keepax , Nikesh Oswal References: <20171123171316.10868-1-rf@opensource.wolfsonmicro.com> <1eff5a38-cff3-449b-bda4-047f50a9f1d4@EX17.ad.cirrus.com> From: Richard Fitzgerald Date: Thu, 7 Dec 2017 10:52:47 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Message-ID: X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1712070162 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2746 Lines: 84 On 07/12/17 08:54, Linus Walleij wrote: > On Mon, Dec 4, 2017 at 10:47 AM, Richard Fitzgerald > wrote: >> On 02/12/17 12:10, Linus Walleij wrote: >>> On Wed, Nov 29, 2017 at 12:36 PM, Richard Fitzgerald >>> wrote: >>>> On 29/11/17 10:18, Linus Walleij wrote: >>>>> On Thu, Nov 23, 2017 at 6:13 PM, Richard Fitzgerald >>>>> wrote: >>>>> >>>>>> +config MFD_MADERA_I2C >>>>>> + bool "Cirrus Logic Madera codecs with I2C" >>>>>> + select MFD_MADERA >>>>>> + select REGMAP_I2C >>>>>> + depends on I2C >>>>>> + depends on PINCTRL >>>>>> + help >>>>>> + Support for the Cirrus Logic Madera platform audio SoC >>>>>> + core functionality controlled via I2C. >>>>>> + >>>>>> +config MFD_MADERA_SPI >>>>>> + bool "Cirrus Logic Madera codecs with SPI" >>>>>> + select MFD_MADERA >>>>>> + select REGMAP_SPI >>>>>> + depends on SPI_MASTER >>>>>> + depends on PINCTRL >>>>>> + help >>>>>> + Support for the Cirrus Logic Madera platform audio SoC >>>>>> + core functionality controlled via SPI. >>>>> >>>>> >>>>> >>>>> Why do the I2C and SPI subdrivers depend on PINCTRL? >>>>> >>>>> They sure don't seem to be using any pinctrl-specific APIs. >>>>> >>>> >>>> They require PINCTRL even if they don't call any functions on it because >>>> the >>>> chip won't work correctly if there isn't a PINCTRL driver to apply the >>>> correct pinmux configuration. >>> >>> >>> Apply the configuration to what? Sorry I don't get it. >>> >>> You can't be referring to the internal pin controller of the Madera, since >> >> Yes I am > > You are saying that the I2C and SPI interface to the Madera codec > depends on pin control. > > It does not. > > You can most certainly talk I2C and SPI to the coded without any > pin control. Probably the MFD driver can come up without it. > > If what you want is unconditional pin control enabled for this circuit, > then have MFD_MADERA select PINCTRL. > >>> that has to come up before its pin controller can even be communicated >>> with. >> >> >> So? >> >> The MFD driver powers up the chip before registering child drivers. > > Including the pin controller. You just confirmed what I said: the > I2C and SPI interfaces do not require pin control to talk to the > chip. > >> Also that's not entirely relevant, the pinctrl settings can still be written >> with the chip off because they will go into the regmap cache and be applied >> when the chip is next resumed. > > You still have the dependencies wrong. > > Yours, > Linus Walleij > So the short version of this email thread is that it should be "select PINCTRL" ?