Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755310AbdIGRpn (ORCPT ); Thu, 7 Sep 2017 13:45:43 -0400 Received: from mail-by2nam03on0070.outbound.protection.outlook.com ([104.47.42.70]:28406 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754518AbdIGRpk (ORCPT ); Thu, 7 Sep 2017 13:45:40 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=David.Daney@cavium.com; Subject: Re: [PATCH v4 1/6] irqdomain: rename variables in irq_domain_{push,pop}_irq() To: Marc Zyngier , Masahiro Yamada , Thomas Gleixner , Linus Walleij , linux-gpio@vger.kernel.org, Rob Herring Cc: Jassi Brar , devicetree@vger.kernel.org, Jason Cooper , Masami Hiramatsu , David Daney , linux-kernel@vger.kernel.org References: <1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com> <1504784522-26841-2-git-send-email-yamada.masahiro@socionext.com> From: David Daney Message-ID: Date: Thu, 7 Sep 2017 10:45:34 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: DM5PR07CA0044.namprd07.prod.outlook.com (10.168.109.30) To DM5PR07MB3497.namprd07.prod.outlook.com (10.164.153.28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8d81b2a2-f32a-4096-29ca-08d4f6183fcd X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DM5PR07MB3497; X-Microsoft-Exchange-Diagnostics: 1;DM5PR07MB3497;3:qVo1ANjfcv4IfJ9g7lqhM4dfTl9vvvOQ4OtHOjVeUws1NREDV96WvrJnjdmKrT4gr1OmcTupYCWH/zsWSNpyK31Ou3jKxG0Hs2kj0oWCEfj1wPYhDMJd86WrVrRTLm1EBoCK328134h/S9471T6PQS8wz0lf6EJNUqcuaxWKLqNPnQFaw6wTIew5VGhycQjPL+JTXOwKkJmaqmCfd6VEz0bvIvi0ns/6OeqIwF4YtZQ+rwTmIOqLncPE9sL7eziK;25:RvD+LbWV2mQlmAZGg628nhbT2kGjkP0pIUWP/+6o8zkykZu3hHOKcS+OAe+Ax+tWH731u9DpBckrUXuoIeJ1Ys2Z+XH2Z6xgfPhm3CsQGfU2VPg5uD9JAHhny+4ZQda0IPWJCWuNo6B2Xnlz+7O+uoYGzSUjOGfD7gZ8iWO/8C9pEZUTf01jnLNNPjAfZYn9oG6qeDgMZbN/6IwGpb+Z9kFHT/ELM91XUe9abUJX1Hl6xpp10KVJ24iNQrd8c5sbKFawpRi4Ml/pluF8zL+4Vpe0/GYFFRUeGicGGoZGVrHRo3OQKJ23w7K9qwkn+QUoAoraEERa3OPXzlBlGsu3wg==;31:nra3HBwZfqhwIIue4vhyrdiZmjhCrzogO5sWq8+eEksbRPW3PdRKhO29WA9Rv/g2cJ8Wk5+h8CT6j0L18J9cUn9j71spa9XHFSZ075LvuBa5ZVSrtjklxOexo+PEmbPqnVRkn0He1cVBqbepUIrET5eMJYASyLtQ0acQNNnW7UmlvorCOgd20xTsTSFX8jM7Zlbhg/6PNB0zjXOmjObXxH1+DP2htAQatxkMhJx68sg= X-MS-TrafficTypeDiagnostic: DM5PR07MB3497: X-Microsoft-Exchange-Diagnostics: 1;DM5PR07MB3497;20:4KJ6gyZD6KSL+oKX2r1GM8d+XpVG6R0nJ7snh+ScStV+pm2ijE6Dh57eM9uUGpBPdWBDvdG8oZopTq0VMrTNENtdgNgHGhe+8yOlawPr4VgqeNdrq0tOAxNrOthDmag9VCdsrbRC+QkyBIe0oC+QF/8mqyxCu63XyePhr6WVcEm+lN5C9UB3QOQWOarD3N+Y7RgMtHQUXs9GJHD8O6A4Oqzjk7ASOncviXot7JEs7JkwoK1hZpBKB3HzF8pr94D4FxMUn5GEDf6t7nHiCUjv4ytjGlGL6cxMIHCgmYRzHgQwpjZbvcIT7Bx3odI7I2M6m+0Zoyfx3B9+tsCIIGPR6lE9vuHdC1Gqkcww0y0aixI9daf9+yknAe8vl/KpfQe3rSPrPUj429Gg11GX2m+CybgHhmfAovK4B9/1iBNkWT61uMnoEFSi/XvZ/n6vlIUgIxOUnJNNdNT0ut9VM+cAEODw9R6ptU/y7qxgw2s9yOrsMOhf4p/74kL05L7uz10xEPR24qdoAJb6ftXV4wjoR5tfIakd9TtTuovPe9NWVUVJTn9tMyKHFoZdWANSDqhReseU7pE6KoNZ2ynHaX3S2jLpEGdH/wkPuA8vBrXQnVA=;4:OQOlO2BmoGMYHXugDmn5Lt/aGAqvGFzFuvqCfba5uWZDYi8obCnb+ef/hhvKsX0827oOFd8nLPgI72yT2GiWhgaLSbEvoCxQ9+kRXUQUBFSti8wtpEd7Rc8hi4SXf87bmBhI4HEmoVD2O8vmwdvENhM76w4Xox5D5NXKmnki4gtxgBMkwNw4tcH1mW4sxeyijthFo4+BFrGnkmQipzN8cMCUd5pWpcEyYQMw20XtFPmkmeqwhml8qCYavzdLiXJ5 X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(100000703101)(100105400095)(10201501046)(93006095)(6041248)(20161123564025)(20161123558100)(20161123555025)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR07MB3497;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR07MB3497; X-Forefront-PRVS: 04238CD941 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(189002)(377454003)(199003)(24454002)(230700001)(229853002)(25786009)(5660300001)(83506001)(54356999)(50986999)(76176999)(105586002)(65826007)(106356001)(478600001)(2906002)(189998001)(53416004)(31696002)(3846002)(81166006)(81156014)(101416001)(6506006)(6246003)(4001350100001)(33646002)(68736007)(54906002)(97736004)(8936002)(53936002)(6486002)(6512007)(65956001)(65806001)(66066001)(7416002)(2950100002)(42882006)(53546010)(6116002)(42186005)(69596002)(4326008)(72206003)(7736002)(31686004)(23676002)(36756003)(50466002)(305945005)(8676002)(47776003)(64126003)(142933001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR07MB3497;H:ddl.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjA3TUIzNDk3OzIzOkZFeTRYVHFEd0FzZjlDWEVaV0JJdHhRTndN?= =?utf-8?B?OXlIelJiWVZSN0ZEVjVwUEdSdGU4aE1JQ08vcEVnNWNlRHJMZndlQlpJbHdM?= =?utf-8?B?YTlORHRUL3JZQVIzQVlqNGRscVd2cFFOSERyVWtkQXR1eDdtb3h3NzIvM240?= =?utf-8?B?NEFVZktXZEI5V1ZVYWpKaURSdjNnN0JJeFdBVnlxNjBkWGExbDRNckhmZzQ0?= =?utf-8?B?MkROTm82Ym5tM2cxMExmZ2hQN200V3ZjYmtRL1pYOVdyR1RlWTdvcjFXa3JZ?= =?utf-8?B?S0xzRFJTanY5MUlFenlrSFY3dEd2WmYwUEo0b2d5eEc5VG9HZWt4RGJBbUFu?= =?utf-8?B?bHVmRXZKdGxjZEIxNE1vdGNBRElqM2UzNGJUTSt2L1crbFZqQlZscFpDays4?= =?utf-8?B?Y05HYjB1ckUyV1BDZHkrcXRYWlphd29MY1lvTjI4YklNR09kY3JwOTVVUHYy?= =?utf-8?B?Z2JYaW44WWZKLzYxVzh4aS9POVdPOU5rMGxoUnBzQTZ1V21oSThpeHpSclZk?= =?utf-8?B?U01Mby8wWmVHby8weGg1cmE4ZVdoK3BVZEhVU1ZjY1ROeGFCV3gxcHBXRlBw?= =?utf-8?B?cy9yK090WWRGOXZnazVHMWROMERKdTBBS3FSTHlkd3JpR0tyc1NidGw1bmpM?= =?utf-8?B?anUzSkg4dmZnSituQUx3eVVmcDJEYXNjT1QrbkttSDJoTnRqZjVrdzlGNWpJ?= =?utf-8?B?ekFQWjV1R3RyTFI4czQyemVpS1NvOXVycU9qUE5yTjRCUVRmYVlGWThGMGdw?= =?utf-8?B?dU91blRaL3J0aCtHd1J6MG9RU213Zm5tSytjM0ZYa1VXakh2dG9xWms2ZHlz?= =?utf-8?B?NkZMUTBXRUh6cEx2ZGRaemY4eHlzNkFMaUZPS2ZhOUx6dnMzQVRUUjZPT0RB?= =?utf-8?B?ZFBTMWtrQzJPeXU2eU1QdHZyUndCUnNVY0dvZUlROXczMU1EV1JDWnhZRVBO?= =?utf-8?B?SXN2eGYyeTlUVXVNZDdFQlFoSGh3V25PbXpkWlNCWHlWaUVUVnJDTGRrRUw2?= =?utf-8?B?cUpTeXFsVDlpSm5CQ0xPMjBhdVpxOFRZbzhGMzA3Sjc2TkZnblhHWmNDd1JJ?= =?utf-8?B?bzVCR2lzVUpVTmF6UE1nQ2t3eXNUQnFBaWYwSCttcHE1czEwL1lnejV6SUpW?= =?utf-8?B?ZTlVYXh3NmdtMTVEdVFobjFWK0x2MWpuUFNXMUVHTDZRdWc3YmFGc1Y1N29L?= =?utf-8?B?NTJQS3dIaTVRQkY5YUdEUWF3ZVpTWjYzQjFvc3dnZjBYSnhsMFBsTkMzTHVh?= =?utf-8?B?RDV6S2p4ZWRrcTJMNys3QzdvVDZOa0ttaU9SY2NLT1RXWUVZL3RoVWVBZ1d0?= =?utf-8?B?SGRmL2NBVUhHS2l3MEJZMk95aklBUndXVFlIanJPenBxQWxRN25VZUpQVFVz?= =?utf-8?B?akZLSVhCbXZHQXI1K054QUlMUCt6OFNQSUxkQVZNSjB6M0Q1Z2owZXFLMC9E?= =?utf-8?B?TnVJbGxudklzNjFDQTcwMk1wdVlGbVpPWXVZRHpWYjNrNWgyWlkvT3FQRHMy?= =?utf-8?B?aTlScktoRnNyWHR4ZjdIV2o3S2pFYmJRSHBlOHM5TU8rWVhrZG10VXFyZE9u?= =?utf-8?B?Y1BSUk90U3gyYVBsYW9oVzhidjRlWXVmQkhHUWJONnJGNzgzZS9GSDZVUFI5?= =?utf-8?B?Rk1iaDNIK3pIdjhXam5zWHFIMFhpVDFuL2NNT055Y2F5Smk4SzBpZ1pwNVlP?= =?utf-8?B?T3F2ZGtCS0FLWWFMVmFLVU1DRldrc3BhaC8rTmxxTXdyQTJtcGNTM01LV3NW?= =?utf-8?B?S2xIbFJjbml5VkRMczJQL3c1WnczWkZ0SG55d3VGaFNaSWx1b1VnNVhRRE1n?= =?utf-8?B?aVcwdGJqblJPcEY4NXdXOUo3cTRkdDUxWGlIVFFqbjJXb2c9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR07MB3497;6:BFENXiCRTneGCKlnqyRBazpPebHxhchtiLe0Iwgh92L7jXq/gKve/8CtCKpLuQCwa2aWc5CCv4ICZLAJSxV9zmgv5C5lVK9GIv8XhcuubyWZvi2GSAv1A2P4QElyWxEtQ7yEJhK1eil5o2XLWs5gEbQfG4mNK1Be1QG0CRdMXju9BzpuiTnoTua9goxsxYOB/2qqnIdok7yiPaDffYFX+ZmtogKgDcuZva+iu4/GAPfZ6ypHV7NeXQ+A2FsuZWvaQcBaNMdUvh+Mvur1aPv/9zlEcnqcp9RfxBIurJEQaRDhjexT4n6VnVWLd7OECJX4m3ZldzRyQQ9snFDQlV9CoQ==;5:S8S/4oSMhwfUdpxqM53I9Y8YySKifPKhKmuZzMScxYrA49V75GzjdEyO3K4ryureZTEjorOv96uQQFHH5gX2TNtJvwVTYqbFdXS4IVDHpn1Im9modosDT+MO0oR7MtyeYj/Q4aOld7vywYdcK3ja1w==;24:4Vsm4T86BFE/qSl8QIbvjh7ylg9L46MOzgPwqRiiDLcxjLAkJO5HcaZzyF4ZrIkPd6C3sN5+JpDz9w6z92FRdSn/LXvJ22saSjpfsGnJiDE=;7:BDu5hg0kv85SJ207oJC4sBleXIza3t5WNLJe+1UICdjJMJJjZ0oBliedtKFTbt5OGFLQvSa8nZ+T82+aRNbHQ3s6thIMryUxydYi2rp1xf4t7exR+knqgSNnL9T9uAmy9H+uPRwoQ5rqi/H1lRJJiX6fPrQ4QqtON40V2RiZ2gDRooq/SsxuQ4HgQq7A2DLWdCC/O9ax/R98I9V1le+gZ3mPX7M8lBtYdEI4oUi1ejo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2017 17:45:36.1140 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3497 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2186 Lines: 61 On 09/07/2017 05:47 AM, Marc Zyngier wrote: > On 07/09/17 12:41, Masahiro Yamada wrote: >> The meaning of "root" in irq_domain_{push,pop} is opposite to the >> documentation. Documentation/IRQ-domain.txt depicts the hierarchy >> IRQ domain as follows: >> >> CPU Vector irq_domain (root irq_domain to manage CPU vectors) >> ^ >> | >> Interrupt Remapping irq_domain (manage irq_remapping entries) >> ^ >> | >> IOAPIC irq_domain (manage IOAPIC delivery entries/pins) >> >> From above, the inner-most domain (nearest to the CPU) is "root". >> >> The document also says, "When building irq_domain hierarchy, the >> irq_domain near to the device is child and the irq_domain near to >> CPU is parent." This is how irq_data->parent_data works. In >> contrast, these function use a variable "child_irq_data" for that. > The exact opposite argument could be used for the data structure. The > irq_desc is the root of the list ordered with parent_data. > > Yes, this is confusing, but because we're using the same English words > to describe two different things, we're bound to make one thing more > difficult. I'm unconvinced that this change helps anything (it certainly > confuses me more than anything else). > There may be room for improvement here. Here is my recollection of how I choose the names: "root" is the thing embedded in the struct irq_desc, if you think about a typical linked list structure like this, we can refer to the starting point as the "root". Sometimes it might be referred to as the "head" of the list, but usually not the "tail" "child" was used to indicate the thing we get to by traversing the link in the list. The fact that ->parent is the name of the next pointer and that it points to something called "child" is confusing here. So what do I think should be done? This: Either A) s/child_irq_data/parent_irq_data/g As this patch does, but leave the root_irq_data name unchanged. B) Change the name of the ->parent in struct irq_data to ->next But that is just my $0.02 I fear we risk a Bike Shedding type of discussion here. David Daney > Thanks, > > M. >