From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752655AbdFNRzA (ORCPT ); Wed, 14 Jun 2017 13:55:00 -0400 Received: from mail-it0-f46.google.com ([209.85.214.46]:36673 "EHLO mail-it0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752574AbdFNRy7 (ORCPT ); Wed, 14 Jun 2017 13:54:59 -0400 Date: Wed, 14 Jun 2017 11:54:54 -0600 From: Mathieu Poirier To: Suzuki K Poulose Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 07/12] coresight replicator: Expose replicator management registers Message-ID: <20170614175454.GC22030@xps15> References: <1497278211-5001-1-git-send-email-suzuki.poulose@arm.com> <1497278211-5001-8-git-send-email-suzuki.poulose@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1497278211-5001-8-git-send-email-suzuki.poulose@arm.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 12, 2017 at 03:36:46PM +0100, Suzuki K Poulose wrote: > Expose the idfilter* registers of the programmable replicator. Is this for SoC600 only? If so we need to make sure these are not visible when operating an SoC400 replicator. Otherwise simply disregard my statement. > > Cc: Mathieu Poirier > Signed-off-by: Suzuki K Poulose > --- > .../hwtracing/coresight/coresight-replicator-qcom.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/drivers/hwtracing/coresight/coresight-replicator-qcom.c b/drivers/hwtracing/coresight/coresight-replicator-qcom.c > index b029a5f..4dd18e0 100644 > --- a/drivers/hwtracing/coresight/coresight-replicator-qcom.c > +++ b/drivers/hwtracing/coresight/coresight-replicator-qcom.c > @@ -95,6 +95,26 @@ static const struct coresight_ops replicator_cs_ops = { > .link_ops = &replicator_link_ops, > }; > > +coresight_simple_func(struct replicator_state, NULL, idfilter0, > + REPLICATOR_IDFILTER0); > +coresight_simple_func(struct replicator_state, NULL, idfilter1, > + REPLICATOR_IDFILTER1); > +static struct attribute *replicator_mgmt_attrs[] = { > + &dev_attr_idfilter0.attr, > + &dev_attr_idfilter1.attr, > + NULL, > +}; > + > +static const struct attribute_group replicator_mgmt_group = { > + .attrs = replicator_mgmt_attrs, > + .name = "mgmt", > +}; > + > +static const struct attribute_group *replicator_groups[] = { > + &replicator_mgmt_group, > + NULL, > +}; > + > static int replicator_probe(struct amba_device *adev, const struct amba_id *id) > { > int ret; > @@ -139,6 +159,7 @@ static int replicator_probe(struct amba_device *adev, const struct amba_id *id) > desc.ops = &replicator_cs_ops; > desc.pdata = adev->dev.platform_data; > desc.dev = &adev->dev; > + desc.groups = replicator_groups; > drvdata->csdev = coresight_register(&desc); > if (IS_ERR(drvdata->csdev)) > return PTR_ERR(drvdata->csdev); > -- > 2.7.4 >