Skip to content

Commit

Permalink
driver model: constify attribute groups
Browse files Browse the repository at this point in the history
Let attribute group vectors be declared "const".  We'd
like to let most attribute metadata live in read-only
sections... this is a start.

Signed-off-by: David Brownell <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
David Brownell authored and gregkh committed Sep 15, 2009
1 parent 5b2ea2f commit a4dbd67
Show file tree
Hide file tree
Showing 30 changed files with 39 additions and 39 deletions.
2 changes: 1 addition & 1 deletion block/genhd.c
Original file line number Diff line number Diff line change
Expand Up @@ -903,7 +903,7 @@ static struct attribute_group disk_attr_group = {
.attrs = disk_attrs,
};

static struct attribute_group *disk_attr_groups[] = {
static const struct attribute_group *disk_attr_groups[] = {
&disk_attr_group,
NULL
};
Expand Down
4 changes: 2 additions & 2 deletions drivers/base/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ static void device_remove_attributes(struct device *dev,
}

static int device_add_groups(struct device *dev,
struct attribute_group **groups)
const struct attribute_group **groups)
{
int error = 0;
int i;
Expand All @@ -361,7 +361,7 @@ static int device_add_groups(struct device *dev,
}

static void device_remove_groups(struct device *dev,
struct attribute_group **groups)
const struct attribute_group **groups)
{
int i;

Expand Down
4 changes: 2 additions & 2 deletions drivers/base/driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ void put_driver(struct device_driver *drv)
EXPORT_SYMBOL_GPL(put_driver);

static int driver_add_groups(struct device_driver *drv,
struct attribute_group **groups)
const struct attribute_group **groups)
{
int error = 0;
int i;
Expand All @@ -201,7 +201,7 @@ static int driver_add_groups(struct device_driver *drv,
}

static void driver_remove_groups(struct device_driver *drv,
struct attribute_group **groups)
const struct attribute_group **groups)
{
int i;

Expand Down
2 changes: 1 addition & 1 deletion drivers/block/cciss.c
Original file line number Diff line number Diff line change
Expand Up @@ -572,7 +572,7 @@ static struct attribute_group cciss_dev_attr_group = {
.attrs = cciss_dev_attrs,
};

static struct attribute_group *cciss_dev_attr_groups[] = {
static const struct attribute_group *cciss_dev_attr_groups[] = {
&cciss_dev_attr_group,
NULL
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/firewire/core-device.c
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ static void init_fw_attribute_group(struct device *dev,
group->groups[0] = &group->group;
group->groups[1] = NULL;
group->group.attrs = group->attrs;
dev->groups = group->groups;
dev->groups = (const struct attribute_group **) group->groups;
}

static ssize_t modalias_show(struct device *dev,
Expand Down
2 changes: 1 addition & 1 deletion drivers/firmware/dmi-id.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ static struct attribute_group sys_dmi_attribute_group = {
.attrs = sys_dmi_attributes,
};

static struct attribute_group* sys_dmi_attribute_groups[] = {
static const struct attribute_group* sys_dmi_attribute_groups[] = {
&sys_dmi_attribute_group,
NULL
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/infiniband/hw/ehca/ehca_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -623,7 +623,7 @@ static struct attribute_group ehca_drv_attr_grp = {
.attrs = ehca_drv_attrs
};

static struct attribute_group *ehca_drv_attr_groups[] = {
static const struct attribute_group *ehca_drv_attr_groups[] = {
&ehca_drv_attr_grp,
NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/infiniband/hw/ipath/ipath_kernel.h
Original file line number Diff line number Diff line change
Expand Up @@ -1286,7 +1286,7 @@ struct device_driver;

extern const char ib_ipath_version[];

extern struct attribute_group *ipath_driver_attr_groups[];
extern const struct attribute_group *ipath_driver_attr_groups[];

int ipath_device_create_group(struct device *, struct ipath_devdata *);
void ipath_device_remove_group(struct device *, struct ipath_devdata *);
Expand Down
2 changes: 1 addition & 1 deletion drivers/infiniband/hw/ipath/ipath_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1069,7 +1069,7 @@ static ssize_t show_tempsense(struct device *dev,
return ret;
}

struct attribute_group *ipath_driver_attr_groups[] = {
const struct attribute_group *ipath_driver_attr_groups[] = {
&driver_attr_group,
NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/input/input.c
Original file line number Diff line number Diff line change
Expand Up @@ -1144,7 +1144,7 @@ static struct attribute_group input_dev_caps_attr_group = {
.attrs = input_dev_caps_attrs,
};

static struct attribute_group *input_dev_attr_groups[] = {
static const struct attribute_group *input_dev_attr_groups[] = {
&input_dev_attr_group,
&input_dev_id_attr_group,
&input_dev_caps_attr_group,
Expand Down
4 changes: 2 additions & 2 deletions drivers/misc/enclosure.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ static void enclosure_component_release(struct device *dev)
put_device(dev->parent);
}

static struct attribute_group *enclosure_groups[];
static const struct attribute_group *enclosure_groups[];

/**
* enclosure_component_register - add a particular component to an enclosure
Expand Down Expand Up @@ -536,7 +536,7 @@ static struct attribute_group enclosure_group = {
.attrs = enclosure_component_attrs,
};

static struct attribute_group *enclosure_groups[] = {
static const struct attribute_group *enclosure_groups[] = {
&enclosure_group,
NULL
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/mmc/core/mmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ static struct attribute_group mmc_std_attr_group = {
.attrs = mmc_std_attrs,
};

static struct attribute_group *mmc_attr_groups[] = {
static const struct attribute_group *mmc_attr_groups[] = {
&mmc_std_attr_group,
NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/mmc/core/sd.c
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ static struct attribute_group sd_std_attr_group = {
.attrs = sd_std_attrs,
};

static struct attribute_group *sd_attr_groups[] = {
static const struct attribute_group *sd_attr_groups[] = {
&sd_std_attr_group,
NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/mtd/mtdcore.c
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ struct attribute_group mtd_group = {
.attrs = mtd_attrs,
};

struct attribute_group *mtd_groups[] = {
const struct attribute_group *mtd_groups[] = {
&mtd_group,
NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/s390/cio/css.c
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ static struct attribute_group subch_attr_group = {
.attrs = subch_attrs,
};

static struct attribute_group *default_subch_attr_groups[] = {
static const struct attribute_group *default_subch_attr_groups[] = {
&subch_attr_group,
NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/s390/cio/device.c
Original file line number Diff line number Diff line change
Expand Up @@ -656,7 +656,7 @@ static struct attribute_group ccwdev_attr_group = {
.attrs = ccwdev_attrs,
};

static struct attribute_group *ccwdev_attr_groups[] = {
static const struct attribute_group *ccwdev_attr_groups[] = {
&ccwdev_attr_group,
NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/s390/net/netiucv.c
Original file line number Diff line number Diff line change
Expand Up @@ -2159,7 +2159,7 @@ static struct attribute_group netiucv_drv_attr_group = {
.attrs = netiucv_drv_attrs,
};

static struct attribute_group *netiucv_drv_attr_groups[] = {
static const struct attribute_group *netiucv_drv_attr_groups[] = {
&netiucv_drv_attr_group,
NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/scsi_priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ extern struct scsi_transport_template blank_transport_template;
extern void __scsi_remove_device(struct scsi_device *);

extern struct bus_type scsi_bus_type;
extern struct attribute_group *scsi_sysfs_shost_attr_groups[];
extern const struct attribute_group *scsi_sysfs_shost_attr_groups[];

/* scsi_netlink.c */
#ifdef CONFIG_SCSI_NETLINK
Expand Down
4 changes: 2 additions & 2 deletions drivers/scsi/scsi_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ struct attribute_group scsi_shost_attr_group = {
.attrs = scsi_sysfs_shost_attrs,
};

struct attribute_group *scsi_sysfs_shost_attr_groups[] = {
const struct attribute_group *scsi_sysfs_shost_attr_groups[] = {
&scsi_shost_attr_group,
NULL
};
Expand Down Expand Up @@ -745,7 +745,7 @@ static struct attribute_group scsi_sdev_attr_group = {
.attrs = scsi_sdev_attrs,
};

static struct attribute_group *scsi_sdev_attr_groups[] = {
static const struct attribute_group *scsi_sdev_attr_groups[] = {
&scsi_sdev_attr_group,
NULL
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/usb/core/endpoint.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ static struct attribute *ep_dev_attrs[] = {
static struct attribute_group ep_dev_attr_grp = {
.attrs = ep_dev_attrs,
};
static struct attribute_group *ep_dev_groups[] = {
static const struct attribute_group *ep_dev_groups[] = {
&ep_dev_attr_grp,
NULL
};
Expand Down
4 changes: 2 additions & 2 deletions drivers/usb/core/sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -573,7 +573,7 @@ static struct attribute_group dev_string_attr_grp = {
.is_visible = dev_string_attrs_are_visible,
};

struct attribute_group *usb_device_groups[] = {
const struct attribute_group *usb_device_groups[] = {
&dev_attr_grp,
&dev_string_attr_grp,
NULL
Expand Down Expand Up @@ -799,7 +799,7 @@ static struct attribute_group intf_assoc_attr_grp = {
.is_visible = intf_assoc_attrs_are_visible,
};

struct attribute_group *usb_interface_groups[] = {
const struct attribute_group *usb_interface_groups[] = {
&intf_attr_grp,
&intf_assoc_attr_grp,
NULL
Expand Down
4 changes: 2 additions & 2 deletions drivers/usb/core/usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,8 @@ static inline int is_active(const struct usb_interface *f)
extern const char *usbcore_name;

/* sysfs stuff */
extern struct attribute_group *usb_device_groups[];
extern struct attribute_group *usb_interface_groups[];
extern const struct attribute_group *usb_device_groups[];
extern const struct attribute_group *usb_interface_groups[];

/* usbfs stuff */
extern struct mutex usbfs_mutex;
Expand Down
2 changes: 1 addition & 1 deletion drivers/uwb/lc-dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ static struct attribute_group dev_attr_group = {
.attrs = dev_attrs,
};

static struct attribute_group *groups[] = {
static const struct attribute_group *groups[] = {
&dev_attr_group,
NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion fs/partitions/check.c
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ static struct attribute_group part_attr_group = {
.attrs = part_attrs,
};

static struct attribute_group *part_attr_groups[] = {
static const struct attribute_group *part_attr_groups[] = {
&part_attr_group,
#ifdef CONFIG_BLK_DEV_IO_TRACE
&blk_trace_attr_group,
Expand Down
2 changes: 1 addition & 1 deletion include/linux/attribute_container.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ struct attribute_container {
struct list_head node;
struct klist containers;
struct class *class;
struct attribute_group *grp;
const struct attribute_group *grp;
struct device_attribute **attrs;
int (*match)(struct attribute_container *, struct device *);
#define ATTRIBUTE_CONTAINER_NO_CLASSDEVS 0x01
Expand Down
6 changes: 3 additions & 3 deletions include/linux/device.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ struct device_driver {
void (*shutdown) (struct device *dev);
int (*suspend) (struct device *dev, pm_message_t state);
int (*resume) (struct device *dev);
struct attribute_group **groups;
const struct attribute_group **groups;

const struct dev_pm_ops *pm;

Expand Down Expand Up @@ -288,7 +288,7 @@ extern void class_destroy(struct class *cls);
*/
struct device_type {
const char *name;
struct attribute_group **groups;
const struct attribute_group **groups;
int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
char *(*nodename)(struct device *dev);
void (*release)(struct device *dev);
Expand Down Expand Up @@ -412,7 +412,7 @@ struct device {

struct klist_node knode_class;
struct class *class;
struct attribute_group **groups; /* optional groups */
const struct attribute_group **groups; /* optional groups */

void (*release)(struct device *dev);
};
Expand Down
2 changes: 1 addition & 1 deletion include/linux/netdevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -895,7 +895,7 @@ struct net_device
/* class/net/name entry */
struct device dev;
/* space for optional statistics and wireless sysfs groups */
struct attribute_group *sysfs_groups[3];
const struct attribute_group *sysfs_groups[3];

/* rtnetlink link ops */
const struct rtnl_link_ops *rtnl_link_ops;
Expand Down
2 changes: 1 addition & 1 deletion include/linux/transport_class.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ struct anon_transport_class cls = { \

struct transport_container {
struct attribute_container ac;
struct attribute_group *statistics;
const struct attribute_group *statistics;
};

#define attribute_container_to_transport_container(x) \
Expand Down
4 changes: 2 additions & 2 deletions net/bluetooth/hci_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ static struct attribute_group bt_link_group = {
.attrs = bt_link_attrs,
};

static struct attribute_group *bt_link_groups[] = {
static const struct attribute_group *bt_link_groups[] = {
&bt_link_group,
NULL
};
Expand Down Expand Up @@ -392,7 +392,7 @@ static struct attribute_group bt_host_group = {
.attrs = bt_host_attrs,
};

static struct attribute_group *bt_host_groups[] = {
static const struct attribute_group *bt_host_groups[] = {
&bt_host_group,
NULL
};
Expand Down
2 changes: 1 addition & 1 deletion net/core/net-sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,7 @@ void netdev_unregister_kobject(struct net_device * net)
int netdev_register_kobject(struct net_device *net)
{
struct device *dev = &(net->dev);
struct attribute_group **groups = net->sysfs_groups;
const struct attribute_group **groups = net->sysfs_groups;

dev->class = &net_class;
dev->platform_data = net;
Expand Down

0 comments on commit a4dbd67

Please sign in to comment.