Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752404AbdGaOGL (ORCPT ); Mon, 31 Jul 2017 10:06:11 -0400 Received: from mga07.intel.com ([134.134.136.100]:43915 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751827AbdGaOGG (ORCPT ); Mon, 31 Jul 2017 10:06:06 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.40,442,1496127600"; d="scan'208";a="117697764" Message-ID: <1501509867.29303.303.camel@linux.intel.com> Subject: Re: [PATCH] gpio: drop unnecessary includes from include/linux/gpio/driver.h From: Andy Shevchenko To: Linus Walleij Cc: Masahiro Yamada , "linux-gpio@vger.kernel.org" , Grygorii Strashko , William Breathitt Gray , Ray Jui , =?ISO-8859-1?Q?S=F6ren?= Brinkmann , David Cohen , Scott Branden , ACPI Devel Maling List , bcm-kernel-feedback-list , Florian Fainelli , Thierry Reding , Jonathan Hunter , Alexander Shiyan , Michal Simek , Kevin Hilman , "linux-tegra@vger.kernel.org" , Joel Stanley , Linux-OMAP , "linux-arm-kernel@lists.infradead.org" , Mika Westerberg , patches@opensource.cirrus.com, Alban Bedel , "linux-kernel@vger.kernel.org" , Santosh Shilimkar , Thor Thayer , Tien Hock Loh Date: Mon, 31 Jul 2017 17:04:27 +0300 In-Reply-To: References: <1499140415-31677-1-git-send-email-yamada.masahiro@socionext.com> <1499162760.22624.246.camel@linux.intel.com> Organization: Intel Finland Oy Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.6-1 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1688 Lines: 44 On Mon, 2017-07-31 at 15:48 +0200, Linus Walleij wrote: > On Tue, Jul 4, 2017 at 12:06 PM, Andy Shevchenko > wrote: > > On Tue, 2017-07-04 at 12:53 +0900, Masahiro Yamada wrote: > > > Some of include directives in include/linux/gpio/driver.h are > > > unneeded because the header does not need to know the content of > > > struct device, irq_chip, etc.  Just declare they are structures. > > > > > > On the other hand, and > > > > > > turned out to be necessary for irq_flow_handler_t and spinlock_t, > > > respectively. > > > > > > Each driver should include what it needs without relying on what > > > is > > > implicitly included from .  This will cut > > > down > > > unnecessary header parsing. > > > > If Linus is okay with the following proposal I would rather go with > > it, > > i.e. logical split the series to > > > > 1. Fix IRQ related headers inclusion > > 2. Fix pinconf-generic.h inclusion > > 3. Fix OF headers inclusion (btw, of_gpio.h is not enough there?) > > That works fine with me, but also one big patch actually, I do not > want to make it too much work to refactor obviously incorrect things. > > As soon as we have rough consensus on this and the build robot > are happy I will apply it to GPIO and also pull it into the pinctrl > subsystem. For me priorities like this: 1) it works after the patch being applied (no regressions); 2) it makes code cleaner at the end; 3) it is presented in logically split parts. So, as long as 1) and 2) are satisfied I can neglect on 3). -- Andy Shevchenko Intel Finland Oy