Received: by 10.213.65.68 with SMTP id h4csp22447imn; Mon, 12 Mar 2018 05:32:14 -0700 (PDT) X-Google-Smtp-Source: AG47ELv1g4ILWVQo6MeN/b2GqmVb2wlTGKIHhXT0BTvO0q7O5E3M7t+sR6BajXYWUxNCBS5bP+/y X-Received: by 10.99.96.130 with SMTP id u124mr6271618pgb.252.1520857934839; Mon, 12 Mar 2018 05:32:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520857934; cv=none; d=google.com; s=arc-20160816; b=aOqotXBPW+d7Wmn1quXs1Z1CRkdYQ18uSBax8qtObecX+KT5MYPGbX+oeL0f7p510c cCrTmd4/vixHMrqF8FL9a2X2Uo+0TrywlxCLkJOvJOwkr41TqHbL2jhZ7dci1en/SNNa 9KgbHJu83+IQEnPZGRsG+je+zQtc0oqcsoLyjF6NfUcg0HG2gG8pdUzpXM7yCtjXdrx6 yCnUOIqDxb0fChtdRfAsgDn+Pjci1j0V34Se/CNYzSK3e5Ok1YUpC0ERUZzOSs9fychN EvtGmGqabzZ9SE2l1sFEbybdr+/NCJ4Q7K2uvzFPDXKhglKVuDI+L4peJLFSdEoE1L2Q iteg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=oTgUkSVlrtGG23nlBWSSfXinreS91ojY4RYqt04KpZM=; b=adaAnWL2+sxFmSDSKQr1CWBHetJtlCEd4mQ3HgORIadWLzYKzIhKXgLWBizWwENRAN 6zrZUQYp9IeT9LsOE/+/foSJ1z/jz9Vjjzz3202HLzGRE0Z2+0MVumoiSLwZrTc2uUlS 6kcKv2+58jwZQaCLCaR1OnOtwUK035/LCWBhuVO4uLjV0CET53J85U+ccvhDUhAhMTwz 8abaEbRKGnCdoemEk0ZE1qKejwJ2xbuoXAvXR16XDqOIz0L6C4e5d+gDSBHW+AKlQFs1 cQpJC/EbmaE2P2UC76BwzOk+hbjFW5ffDwoWnITYfD9LQVENwLQQhwk39bzeT5o0wBiH EU7A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i3-v6si4829536pli.274.2018.03.12.05.31.59; Mon, 12 Mar 2018 05:32:14 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751348AbeCLMaw (ORCPT + 99 others); Mon, 12 Mar 2018 08:30:52 -0400 Received: from relay1.mentorg.com ([192.94.38.131]:41248 "EHLO relay1.mentorg.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751180AbeCLMau (ORCPT ); Mon, 12 Mar 2018 08:30:50 -0400 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=svr-ies-mbx-01.mgc.mentorg.com) by relay1.mentorg.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) id 1evMbH-00039i-Ot from Harish_Kandiga@mentor.com ; Mon, 12 Mar 2018 05:30:47 -0700 Received: from [10.0.2.15] (137.202.0.87) by svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Mon, 12 Mar 2018 12:30:43 +0000 Subject: Re: [PATCH v9] mmc: Export host capabilities to debugfs. To: Avri Altman , Andy Shevchenko , "ulf.hansson@linaro.org" , "linus.walleij@linaro.org" , "adrian.hunter@intel.com" , "shawn.lin@rock-chips.com" CC: "linux-mmc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Vladimir_Zapolskiy@mentor.com" References: <1520829090-3567-1-git-send-email-harish_kandiga@mentor.com> <1520849262.10722.582.camel@linux.intel.com> <540fef96-aa2f-e6c3-467d-bc1d021dd55b@mentor.com> From: Harish Jenny K N Message-ID: <329d521d-1776-43ee-2f0e-e9690c29a693@mentor.com> Date: Mon, 12 Mar 2018 18:00:35 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Content-Language: en-US X-Originating-IP: [137.202.0.87] X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Monday 12 March 2018 05:02 PM, Avri Altman wrote: > >> -----Original Message----- >> From: Harish Jenny K N [mailto:harish_kandiga@mentor.com] >> Sent: Monday, March 12, 2018 1:17 PM >> To: Avri Altman ; Andy Shevchenko >> ; ulf.hansson@linaro.org; >> linus.walleij@linaro.org; adrian.hunter@intel.com; shawn.lin@rock-chips.com >> Cc: linux-mmc@vger.kernel.org; linux-kernel@vger.kernel.org; >> Vladimir_Zapolskiy@mentor.com >> Subject: Re: [PATCH v9] mmc: Export host capabilities to debugfs. >> >> >> >> On Monday 12 March 2018 04:15 PM, Avri Altman wrote: >>>> -----Original Message----- >>>> From: Andy Shevchenko [mailto:andriy.shevchenko@linux.intel.com] >>>> Sent: Monday, March 12, 2018 12:08 PM >>>> To: Harish Jenny K N ; >>>> ulf.hansson@linaro.org; linus.walleij@linaro.org; >>>> adrian.hunter@intel.com; shawn.lin@rock- chips.com; Avri Altman >>>> >>>> Cc: linux-mmc@vger.kernel.org; linux-kernel@vger.kernel.org; >>>> Vladimir_Zapolskiy@mentor.com >>>> Subject: Re: [PATCH v9] mmc: Export host capabilities to debugfs. >>>> >>>> On Mon, 2018-03-12 at 10:01 +0530, Harish Jenny K N wrote: >>>>> This patch exports the host capabilities to debugfs >>>>> >>>>> This idea of sharing host capabilities over debugfs came up from >>>>> Abbas Raza Earlier discussions: >>>>> https://lkml.org/lkml/2018/3/5/357 >>>>> https://www.spinics.net/lists/linux-mmc/msg48219.html >>>>> >>>> Address below minors and, FWIW, take mine >>>> >>>> Reviewed-by: Andy Shevchenko >>>> >>>>> + for_each_set_bit(bit, (const unsigned long *)&caps, >>>>> BITS_PER_LONG) >>>>> + for_each_set_bit(bit, (const unsigned long *)&caps2, >>>>> BITS_PER_LONG) >>>> Explicit casting is not needed anymore in both cases. >>> Also maybe use sizeof(mmc_host_capabilities) instead of BITS_PER_LONG? >> You mean sizeof(caps) and not sizeof(mmc_host_capabilities) . Right ? > meant ARRAY_SIZE(mmc_host_capabilities) > > Thanks, > Avri > ARRAY_SIZE(mmc_host_capabilities) will be 32 and this will be my old change for which I got a comment from Andy Shevchenko asking me to replace u32 with unsigned long. This is the old comment: >> +    int size = sizeof(u32) * BITS_PER_BYTE; > This is redundant. Use BITS_PER_LONG (why's that, see below) in the for_each_set_bit(). >> +    for_each_set_bit(bit, (const unsigned long *)&caps, size) >> +    for_each_set_bit(bit, (const unsigned long *)&caps2, size) > These are UB cases. > Fix is simple, replace u32 by unsigned long in (1) above. Note: Without typecasting &caps to(const unsigned long *) will give compilation error in this case. Thanks, Harish Jenny K N