From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751469AbdAWPHN (ORCPT ); Mon, 23 Jan 2017 10:07:13 -0500 Received: from mga11.intel.com ([192.55.52.93]:28055 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751437AbdAWPHI (ORCPT ); Mon, 23 Jan 2017 10:07:08 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,274,1477983600"; d="scan'208";a="812278123" Message-ID: <1485183667.2133.288.camel@linux.intel.com> Subject: Re: [PATCH 2/2] device property: allow constify properties From: Andy Shevchenko To: Dmitry Torokhov , "Rafael J. Wysocki" Cc: linux-kernel@vger.kernel.org, Mika Westerberg , Hans de Goede Date: Mon, 23 Jan 2017 17:01:07 +0200 In-Reply-To: <20170123073849.28352-2-dmitry.torokhov@gmail.com> References: <20170123073849.28352-1-dmitry.torokhov@gmail.com> <20170123073849.28352-2-dmitry.torokhov@gmail.com> Organization: Intel Finland Oy Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.3-1 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 2017-01-22 at 23:38 -0800, Dmitry Torokhov wrote: > There is no reason why statically defined properties should be > modifiable, > so let's make device_add_properties() and the rest of pset_*() > functions to > take const pointers to properties. > > This will allow us to mark properties as const/__initconst at > definition > sites. > Reviewed-by: Andy Shevchenko > Signed-off-by: Dmitry Torokhov > --- >  drivers/base/property.c  | 35 ++++++++++++++++++----------------- >  include/linux/property.h |  2 +- >  2 files changed, 19 insertions(+), 18 deletions(-) > > diff --git a/drivers/base/property.c b/drivers/base/property.c > index ee22ded63e06..4cbf99cb8ef6 100644 > --- a/drivers/base/property.c > +++ b/drivers/base/property.c > @@ -21,7 +21,7 @@ >   >  struct property_set { >   struct fwnode_handle fwnode; > - struct property_entry *properties; > + const struct property_entry *properties; >  }; >   >  static inline bool is_pset_node(struct fwnode_handle *fwnode) > @@ -35,10 +35,10 @@ static inline struct property_set > *to_pset_node(struct fwnode_handle *fwnode) >   container_of(fwnode, struct property_set, fwnode) : > NULL; >  } >   > -static struct property_entry *pset_prop_get(struct property_set > *pset, > -     const char *name) > +static const struct property_entry *pset_prop_get(struct property_set > *pset, > +   const char *name) >  { > - struct property_entry *prop; > + const struct property_entry *prop; >   >   if (!pset || !pset->properties) >   return NULL; > @@ -50,11 +50,11 @@ static struct property_entry *pset_prop_get(struct > property_set *pset, >   return NULL; >  } >   > -static void *pset_prop_find(struct property_set *pset, const char > *propname, > -     size_t length) > +static const void *pset_prop_find(struct property_set *pset, > +   const char *propname, size_t > length) >  { > - struct property_entry *prop; > - void *pointer; > + const struct property_entry *prop; > + const void *pointer; >   >   prop = pset_prop_get(pset, propname); >   if (!prop) > @@ -74,7 +74,7 @@ static int pset_prop_read_u8_array(struct > property_set *pset, >      const char *propname, >      u8 *values, size_t nval) >  { > - void *pointer; > + const void *pointer; >   size_t length = nval * sizeof(*values); >   >   pointer = pset_prop_find(pset, propname, length); > @@ -89,7 +89,7 @@ static int pset_prop_read_u16_array(struct > property_set *pset, >       const char *propname, >       u16 *values, size_t nval) >  { > - void *pointer; > + const void *pointer; >   size_t length = nval * sizeof(*values); >   >   pointer = pset_prop_find(pset, propname, length); > @@ -104,7 +104,7 @@ static int pset_prop_read_u32_array(struct > property_set *pset, >       const char *propname, >       u32 *values, size_t nval) >  { > - void *pointer; > + const void *pointer; >   size_t length = nval * sizeof(*values); >   >   pointer = pset_prop_find(pset, propname, length); > @@ -119,7 +119,7 @@ static int pset_prop_read_u64_array(struct > property_set *pset, >       const char *propname, >       u64 *values, size_t nval) >  { > - void *pointer; > + const void *pointer; >   size_t length = nval * sizeof(*values); >   >   pointer = pset_prop_find(pset, propname, length); > @@ -133,7 +133,7 @@ static int pset_prop_read_u64_array(struct > property_set *pset, >  static int pset_prop_count_elems_of_size(struct property_set *pset, >    const char *propname, size_t > length) >  { > - struct property_entry *prop; > + const struct property_entry *prop; >   >   prop = pset_prop_get(pset, propname); >   if (!prop) > @@ -146,7 +146,7 @@ static int pset_prop_read_string_array(struct > property_set *pset, >          const char *propname, >          const char **strings, size_t > nval) >  { > - void *pointer; > + const void *pointer; >   size_t length = nval * sizeof(*strings); >   >   pointer = pset_prop_find(pset, propname, length); > @@ -160,8 +160,8 @@ static int pset_prop_read_string_array(struct > property_set *pset, >  static int pset_prop_read_string(struct property_set *pset, >    const char *propname, const char > **strings) >  { > - struct property_entry *prop; > - const char **pointer; > + const struct property_entry *prop; > + const char * const *pointer; >   >   prop = pset_prop_get(pset, propname); >   if (!prop) > @@ -867,7 +867,8 @@ EXPORT_SYMBOL_GPL(device_remove_properties); >   * @dev as its secondary firmware node. The function takes a copy of >   * @properties. >   */ > -int device_add_properties(struct device *dev, struct property_entry > *properties) > +int device_add_properties(struct device *dev, > +   const struct property_entry *properties) >  { >   struct property_set *p, pset; >   > diff --git a/include/linux/property.h b/include/linux/property.h > index f7fa5891a8c3..3aeb4d7acd68 100644 > --- a/include/linux/property.h > +++ b/include/linux/property.h > @@ -245,7 +245,7 @@ struct property_entry *property_entries_dup( >   const struct property_entry > *properties); >   >  int device_add_properties(struct device *dev, > -   struct property_entry *properties); > +   const struct property_entry *properties); >  void device_remove_properties(struct device *dev); >   >  bool device_dma_supported(struct device *dev); -- Andy Shevchenko Intel Finland Oy