From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752286AbbIODMO (ORCPT ); Mon, 14 Sep 2015 23:12:14 -0400 Received: from nasmtp01.atmel.com ([192.199.1.245]:55344 "EHLO DVREDG01.corp.atmel.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751728AbbIODMM (ORCPT ); Mon, 14 Sep 2015 23:12:12 -0400 Subject: Re: [PATCH 2/2] ASoC: atmel-classd: DT binding for Class D audio amplifier driver To: Mark Brown References: <1441086101-15303-1-git-send-email-songjun.wu@atmel.com> <1441086101-15303-3-git-send-email-songjun.wu@atmel.com> <20150903114316.GV12027@sirena.org.uk> <55EC0AFE.3080809@atmel.com> <20150907162548.GW5313@sirena.org.uk> <55EEAC0D.7010003@atmel.com> <20150908122340.GC9751@sirena.org.uk> CC: , , , , , , , , , , , , From: "Wu, Songjun" Organization: ATMEL Message-ID: <55F78C79.30102@atmel.com> Date: Tue, 15 Sep 2015 11:11:53 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <20150908122340.GC9751@sirena.org.uk> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 9/8/2015 20:23, Mark Brown wrote: > On Tue, Sep 08, 2015 at 05:36:13PM +0800, Wu, Songjun wrote: >> On 9/8/2015 00:25, Mark Brown wrote: > >>> Sure, there's no problem at all having that structure in software but it >>> should be possible to do this without having to represent this structure >>> in DT. It should be possible to register the card at the same time as >>> the rest of the components rather than needing the separate device in >>> the DT. > >> Do you mean using a single entry in the DT for the whole classD system and >> instantiate ASoC components from it. >> For now, there are two entry, they could be combined to one entry. > > Yes, exactly. > I try to use one entry, but there is a problem. It's about 'driver_data' in struct device. In function snd_soc_register_card, the parameter 'card' will be set to 'driver_data' by the code 'dev_set_drvdata(card->dev, card)'. Then some resources(eg. regmap, clock) also need be recorded by 'driver_data'. One entry could only has one 'driver_data'. I think the best way is to create two entries, like the current dts. What's your opinion?