linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: LABBE Corentin <montjoie.mailing@gmail.com>
To: "Moore, Robert" <robert.moore@intel.com>
Cc: LABBE Corentin <clabbe.montjoie@gmail.com>,
	"Zheng, Lv" <lv.zheng@intel.com>,
	"Wysocki, Rafael J" <rafael.j.wysocki@intel.com>,
	"lenb@kernel.org" <lenb@kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"devel@acpica.org" <devel@acpica.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] acpi: set return value to const char for some functions
Date: Mon, 19 Oct 2015 14:02:55 +0200	[thread overview]
Message-ID: <20151019120255.GA18559@Red> (raw)
In-Reply-To: <94F2FBAB4432B54E8AACC7DFDE6C92E37D9803BD@ORSMSX112.amr.corp.intel.com>

On Wed, Oct 14, 2015 at 08:53:19PM +0000, Moore, Robert wrote:
> In ACPICA, we tend to be very careful concerning the "const" keyword in order to avoid a phenomenon known as "const pollution".
> 
> That is not to say that we won't use const in some limited cases.
> 
> Bob
> 

Hello

The problem is that all function in this patch return a pointer to string literal without giving that information.
I am sad to see that you seems to agree with that but, for resuming your conversation with Joe Perches, you reject this patch just because you worry that perhaps in the future it will make you more works do deal with it.

Does you will accept the subset of this patch for adding const to "static char xxx[] = {}" ?

Regards

> 
> > -----Original Message-----
> > From: LABBE Corentin [mailto:clabbe.montjoie@gmail.com]
> > Sent: Wednesday, October 14, 2015 12:07 PM
> > To: Moore, Robert; Zheng, Lv; Wysocki, Rafael J; lenb@kernel.org
> > Cc: linux-acpi@vger.kernel.org; devel@acpica.org; linux-
> > kernel@vger.kernel.org; LABBE Corentin
> > Subject: [PATCH] acpi: set return value to const char for some functions
> > 
> > This patch set some array of const char as const.
> > In the same time, some function return pointer to thoses array without
> > properly giving the information that the data is const.
> > This patch set the return type of thoses functions as const char *
> > 
> > Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
> > ---
> >  drivers/acpi/acpica/acutils.h  | 12 ++++++------
> > drivers/acpi/acpica/utdecode.c | 24 ++++++++++++------------
> >  drivers/acpi/acpica/uthex.c    |  4 ++--
> >  drivers/acpi/tables.c          |  6 ++++--
> >  4 files changed, 24 insertions(+), 22 deletions(-)
> > 
> > diff --git a/drivers/acpi/acpica/acutils.h b/drivers/acpi/acpica/acutils.h
> > index fb2aa50..e5d9d4f 100644
> > --- a/drivers/acpi/acpica/acutils.h
> > +++ b/drivers/acpi/acpica/acutils.h
> > @@ -189,21 +189,21 @@ char *acpi_ut_get_mutex_name(u32 mutex_id);  const
> > char *acpi_ut_get_notify_name(u32 notify_value, acpi_object_type type);
> > #endif
> > 
> > -char *acpi_ut_get_type_name(acpi_object_type type);
> > +const char *acpi_ut_get_type_name(acpi_object_type type);
> > 
> >  char *acpi_ut_get_node_name(void *object);
> > 
> > -char *acpi_ut_get_descriptor_name(void *object);
> > +const char *acpi_ut_get_descriptor_name(void *object);
> > 
> >  const char *acpi_ut_get_reference_name(union acpi_operand_object
> > *object);
> > 
> > -char *acpi_ut_get_object_type_name(union acpi_operand_object *obj_desc);
> > +const char *acpi_ut_get_object_type_name(union acpi_operand_object
> > +*obj_desc);
> > 
> > -char *acpi_ut_get_region_name(u8 space_id);
> > +const char *acpi_ut_get_region_name(u8 space_id);
> > 
> > -char *acpi_ut_get_event_name(u32 event_id);
> > +const char *acpi_ut_get_event_name(u32 event_id);
> > 
> > -char acpi_ut_hex_to_ascii_char(u64 integer, u32 position);
> > +const char acpi_ut_hex_to_ascii_char(u64 integer, u32 position);
> > 
> >  u8 acpi_ut_ascii_char_to_hex(int hex_char);
> > 
> > diff --git a/drivers/acpi/acpica/utdecode.c
> > b/drivers/acpi/acpica/utdecode.c index 988e23b..e08cdb1 100644
> > --- a/drivers/acpi/acpica/utdecode.c
> > +++ b/drivers/acpi/acpica/utdecode.c
> > @@ -114,7 +114,7 @@ const char
> > *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS] = {
> >  	"PCC"			/* 0x0A */
> >  };
> > 
> > -char *acpi_ut_get_region_name(u8 space_id)
> > +const char *acpi_ut_get_region_name(u8 space_id)
> >  {
> > 
> >  	if (space_id >= ACPI_USER_REGION_BEGIN) { @@ -127,7 +127,7 @@ char
> > *acpi_ut_get_region_name(u8 space_id)
> >  		return ("InvalidSpaceId");
> >  	}
> > 
> > -	return (ACPI_CAST_PTR(char, acpi_gbl_region_types[space_id]));
> > +	return (ACPI_CAST_PTR(const char, acpi_gbl_region_types[space_id]));
> >  }
> > 
> > 
> > /*************************************************************************
> > ******
> > @@ -152,14 +152,14 @@ static const char
> > *acpi_gbl_event_types[ACPI_NUM_FIXED_EVENTS] = {
> >  	"RealTimeClock",
> >  };
> > 
> > -char *acpi_ut_get_event_name(u32 event_id)
> > +const char *acpi_ut_get_event_name(u32 event_id)
> >  {
> > 
> >  	if (event_id > ACPI_EVENT_MAX) {
> >  		return ("InvalidEventID");
> >  	}
> > 
> > -	return (ACPI_CAST_PTR(char, acpi_gbl_event_types[event_id]));
> > +	return (ACPI_CAST_PTR(const char, acpi_gbl_event_types[event_id]));
> >  }
> > 
> > 
> > /*************************************************************************
> > ******
> > @@ -220,17 +220,17 @@ static const char *acpi_gbl_ns_type_names[] = {
> >  	/* 30 */ "Invalid"
> >  };
> > 
> > -char *acpi_ut_get_type_name(acpi_object_type type)
> > +const char *acpi_ut_get_type_name(acpi_object_type type)
> >  {
> > 
> >  	if (type > ACPI_TYPE_INVALID) {
> > -		return (ACPI_CAST_PTR(char, acpi_gbl_bad_type));
> > +		return (ACPI_CAST_PTR(const char, acpi_gbl_bad_type));
> >  	}
> > 
> > -	return (ACPI_CAST_PTR(char, acpi_gbl_ns_type_names[type]));
> > +	return (ACPI_CAST_PTR(const char, acpi_gbl_ns_type_names[type]));
> >  }
> > 
> > -char *acpi_ut_get_object_type_name(union acpi_operand_object *obj_desc)
> > +const char *acpi_ut_get_object_type_name(union acpi_operand_object
> > +*obj_desc)
> >  {
> > 
> >  	if (!obj_desc) {
> > @@ -318,7 +318,7 @@ static const char *acpi_gbl_desc_type_names[] = {
> >  	/* 15 */ "Node"
> >  };
> > 
> > -char *acpi_ut_get_descriptor_name(void *object)
> > +const char *acpi_ut_get_descriptor_name(void *object)
> >  {
> > 
> >  	if (!object) {
> > @@ -329,7 +329,7 @@ char *acpi_ut_get_descriptor_name(void *object)
> >  		return ("Not a Descriptor");
> >  	}
> > 
> > -	return (ACPI_CAST_PTR(char,
> > +	return (ACPI_CAST_PTR(const char,
> >  			      acpi_gbl_desc_type_names[ACPI_GET_DESCRIPTOR_TYPE
> >  						       (object)]));
> > 
> > @@ -400,7 +400,7 @@ const char *acpi_ut_get_reference_name(union
> > acpi_operand_object *object)
> > 
> >  /* Names for internal mutex objects, used for debug output */
> > 
> > -static char *acpi_gbl_mutex_names[ACPI_NUM_MUTEX] = {
> > +static const char *acpi_gbl_mutex_names[ACPI_NUM_MUTEX] = {
> >  	"ACPI_MTX_Interpreter",
> >  	"ACPI_MTX_Namespace",
> >  	"ACPI_MTX_Tables",
> > @@ -411,7 +411,7 @@ static char *acpi_gbl_mutex_names[ACPI_NUM_MUTEX] = {
> >  	"ACPI_MTX_CommandReady"
> >  };
> > 
> > -char *acpi_ut_get_mutex_name(u32 mutex_id)
> > +const char *acpi_ut_get_mutex_name(u32 mutex_id)
> >  {
> > 
> >  	if (mutex_id > ACPI_MAX_MUTEX) {
> > diff --git a/drivers/acpi/acpica/uthex.c b/drivers/acpi/acpica/uthex.c
> > index fda8b3d..9239711 100644
> > --- a/drivers/acpi/acpica/uthex.c
> > +++ b/drivers/acpi/acpica/uthex.c
> > @@ -48,7 +48,7 @@
> >  ACPI_MODULE_NAME("uthex")
> > 
> >  /* Hex to ASCII conversion table */
> > -static char acpi_gbl_hex_to_ascii[] = {
> > +static const char acpi_gbl_hex_to_ascii[] = {
> >  	'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C',
> > 'D',
> >  	    'E', 'F'
> >  };
> > @@ -67,7 +67,7 @@ static char acpi_gbl_hex_to_ascii[] = {
> >   *
> > 
> > **************************************************************************
> > ****/
> > 
> > -char acpi_ut_hex_to_ascii_char(u64 integer, u32 position)
> > +const char acpi_ut_hex_to_ascii_char(u64 integer, u32 position)
> >  {
> > 
> >  	return (acpi_gbl_hex_to_ascii[(integer >> position) & 0xF]); diff --
> > git a/drivers/acpi/tables.c b/drivers/acpi/tables.c index 17a6fa0..7c8a037
> > 100644
> > --- a/drivers/acpi/tables.c
> > +++ b/drivers/acpi/tables.c
> > @@ -35,8 +35,10 @@
> > 
> >  #define ACPI_MAX_TABLES		128
> > 
> > -static char *mps_inti_flags_polarity[] = { "dfl", "high", "res", "low" };
> > -static char *mps_inti_flags_trigger[] = { "dfl", "edge", "res", "level"
> > };
> > +static const char * const mps_inti_flags_polarity[] = {
> > +	"dfl", "high", "res", "low" };
> > +static const char * const mps_inti_flags_trigger[] = {
> > +	"dfl", "edge", "res", "level" };
> > 
> >  static struct acpi_table_desc initial_tables[ACPI_MAX_TABLES] __initdata;
> > 
> > --
> > 2.4.9
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

  parent reply	other threads:[~2015-10-19 12:03 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-14 19:07 [PATCH] acpi: set return value to const char for some functions LABBE Corentin
2015-10-14 19:48 ` kbuild test robot
2015-10-14 20:53 ` Moore, Robert
2015-10-15  2:14   ` Joe Perches
2015-10-15 19:32     ` Moore, Robert
2015-10-15 23:59       ` Joe Perches
2015-10-16  3:37         ` Moore, Robert
2015-10-16  3:47           ` Joe Perches
2015-10-19 12:02   ` LABBE Corentin [this message]
2015-10-19 17:04     ` Moore, Robert
2015-10-19 17:15     ` Moore, Robert
2015-10-21 17:44       ` [Devel] " Moore, Robert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151019120255.GA18559@Red \
    --to=montjoie.mailing@gmail.com \
    --cc=clabbe.montjoie@gmail.com \
    --cc=devel@acpica.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=rafael.j.wysocki@intel.com \
    --cc=robert.moore@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).