Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754528AbdDFIh6 (ORCPT ); Thu, 6 Apr 2017 04:37:58 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:59911 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754430AbdDFIht (ORCPT ); Thu, 6 Apr 2017 04:37:49 -0400 From: Stewart Smith To: Madhavan Srinivasan , mpe@ellerman.id.au Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, ego@linux.vnet.ibm.com, bsingharora@gmail.com, benh@kernel.crashing.org, paulus@samba.org, anton@samba.org, sukadev@linux.vnet.ibm.com, mikey@neuling.org, dja@axtens.net, eranian@google.com, Hemant Kumar , Anju T Sudhakar , Madhavan Srinivasan Subject: Re: [PATCH v6 03/11] powerpc/powernv: Detect supported IMC units and its events In-Reply-To: <1491231308-15282-4-git-send-email-maddy@linux.vnet.ibm.com> References: <1491231308-15282-1-git-send-email-maddy@linux.vnet.ibm.com> <1491231308-15282-4-git-send-email-maddy@linux.vnet.ibm.com> User-Agent: Notmuch/0.21+24~gbceb651 (http://notmuchmail.org) Emacs/25.1.1 (x86_64-redhat-linux-gnu) Date: Thu, 06 Apr 2017 18:37:34 +1000 MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-GCONF: 00 x-cbid: 17040608-0028-0000-0000-0000075B7813 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00006887; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000208; SDB=6.00843826; UDB=6.00415808; IPR=6.00622002; BA=6.00005271; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00014931; XFM=3.00000013; UTC=2017-04-06 08:37:47 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17040608-0029-0000-0000-000034E1EF8A Message-Id: <87r316hqy9.fsf@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-04-06_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1704060073 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1467 Lines: 47 Madhavan Srinivasan writes: > --- a/arch/powerpc/platforms/powernv/opal-imc.c > +++ b/arch/powerpc/platforms/powernv/opal-imc.c > @@ -33,6 +33,388 @@ > +static void imc_pmu_setup(struct device_node *parent) > +{ > + struct device_node *child; > + int pmu_count = 0, rc = 0; > + const struct property *pp; > + > + if (!parent) > + return; > + > + /* Setup all the IMC pmus */ > + for_each_child_of_node(parent, child) { > + pp = of_get_property(child, "compatible", NULL); > + if (pp) { > + /* > + * If there is a node with a "compatible" field, > + * that's a PMU node > + */ > + rc = imc_pmu_create(child, pmu_count); > + if (rc) > + return; > + pmu_count++; > + } > + } > +} This doesn't strike me as the right kind of structure, the presence of a compatible property really just says "hey, there's this device and it's compatible with these ways of accessing it". I'm guessing the idea behind having imc-nest-offset/size in a top level node is because it's common to everything under it and the aim is to not blow up the device tree to be enormous. So why not go after each ibm,imc-counters-nest compatible node under the top level ibm,opal-in-memory-counters node? (i'm not convinced that having ibm,ibmc-counters-nest versus ibm,imc-counters-core and ibm,imc-counters-thread as I see in the dts is correct though, as they're all accessed exactly the same way?) -- Stewart Smith OPAL Architect, IBM.