Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755499AbdDGI2H (ORCPT ); Fri, 7 Apr 2017 04:28:07 -0400 Received: from mail-io0-f181.google.com ([209.85.223.181]:35667 "EHLO mail-io0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753730AbdDGI16 (ORCPT ); Fri, 7 Apr 2017 04:27:58 -0400 MIME-Version: 1.0 In-Reply-To: <1491386884-30689-2-git-send-email-rf@opensource.wolfsonmicro.com> References: <1491386884-30689-1-git-send-email-rf@opensource.wolfsonmicro.com> <1491386884-30689-2-git-send-email-rf@opensource.wolfsonmicro.com> From: Linus Walleij Date: Fri, 7 Apr 2017 10:27:56 +0200 Message-ID: Subject: Re: [PATCH 01/16] mfd: madera: Add register definitions for Cirrus Logic Madera codecs To: Richard Fitzgerald Cc: Alexandre Courbot , Rob Herring , Thomas Gleixner , Jason Cooper , Lee Jones , Mark Brown , "alsa-devel@alsa-project.org" , "open list:WOLFSON MICROELECTRONICS DRIVERS" , "linux-gpio@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1332 Lines: 34 On Wed, Apr 5, 2017 at 12:07 PM, Richard Fitzgerald wrote: > This patch adds a header file of register definitions for Cirrus > Logic "Madera" class codecs. These codecs are all based off a common > set of hardware IP so have a common register map (with a few minor > device-to-device variations). These are complex devices with a large > mber of features and so have a correspondingly large register set. > The registers.h file has been auto-generated from the hardware register > definitions, stripped down to only registers we need to access from > the driver. > > Signed-off-by: Richard Fitzgerald This: include/linux/mfd/madera/registers.h | 8832 ++++++++++++++++++++++++++++++++++ Get included in all subdrivers I suppose? So you are broadcasting 8800+ lines into every subdriver across the entire kernel. Just the time spent in the preprocessor parsing this will affect compilation time. Please implement separation of concerns. Move the register definitions into the drivers, and if they are too large, atleast make a local include file in sound/soc for the codec parts so the GPIO subdriver does not have to churn through all this to get its job done. I know there are other MFD drivers doing this but it's not a good pattern. Yours, Linus Walleij