static LIST_HEAD(device_list);
 struct uflash_dev {
-       char                    *name;  /* device name */
+       const char              *name;  /* device name */
        struct map_info         map;    /* mtd map info */
        struct mtd_info         *mtd;   /* mtd info */
 };
 
        up->name = of_get_property(dp, "model", NULL);
        if (up->name && 0 < strlen(up->name))
-               up->map.name = up->name;
+               up->map.name = (char *)up->name;
 
        up->map.phys = res->start;
 
 
        int use_idprom = 1;
 
        if (pcp != NULL) {
-               unsigned char *addr;
+               const unsigned char *addr;
                int len;
 
                addr = of_get_property(pcp->prom_node, "local-mac-address",
 
                        dev->dev_addr[i] = macaddr[i];
                macaddr[5]++;
        } else {
-               unsigned char *addr;
+               const unsigned char *addr;
                int len;
 
                addr = of_get_property(dp, "local-mac-address", &len);
                macaddr[5]++;
        } else {
 #ifdef CONFIG_SPARC
-               unsigned char *addr;
+               const unsigned char *addr;
                int len;
 
                if (qfe_slot != -1 &&
 {
        struct sbus_dev *sdev = to_sbus_device(&dev->dev);
        struct device_node *dp = dev->node;
-       char *model = of_get_property(dp, "model", NULL);
+       const char *model = of_get_property(dp, "model", NULL);
        int is_qfe = (match->data != NULL);
 
        if (!is_qfe && model && !strcmp(model, "SUNW,sbus-qfe"))
 
        struct pcidev_cookie *pcp = pdev->sysdata;
 
        if (pcp != NULL) {
-               unsigned char *addr;
+               const unsigned char *addr;
                int len;
 
                addr = of_get_property(pcp->prom_node, "local-mac-address",
 
                dev->dev_addr[i] = last_phys_addr[i] + 1;
 #if defined(__sparc__)
                if (pcp) {
-                       unsigned char *addr;
+                       const unsigned char *addr;
                        int len;
 
                        addr = of_get_property(pcp->prom_node,
 
  * Return: None.
  */
 static void envctrl_set_mon(struct i2c_child_t *pchild,
-                           char *chnl_desc,
+                           const char *chnl_desc,
                            int chnl_no)
 {
        /* Firmware only has temperature type.  It does not distinguish
 static void envctrl_init_adc(struct i2c_child_t *pchild, struct device_node *dp)
 {
        int i = 0, len;
-       char *pos;
-       unsigned int *pval;
+       const char *pos;
+       const unsigned int *pval;
 
        /* Firmware describe channels into a stream separated by a '\0'. */
        pos = of_get_property(dp, "channels-description", &len);
 {
        int len, i, tbls_size = 0;
        struct device_node *dp = edev_child->prom_node;
-       void *pval;
+       const void *pval;
 
        /* Get device address. */
        pval = of_get_property(dp, "reg", &len);
 
        }
        if (!sdev) {
 #ifdef CONFIG_PCI
-               struct linux_prom_registers *ebus_regs;
+               const struct linux_prom_registers *ebus_regs;
 
                for_each_ebus(ebus) {
                        for_each_ebusdev(edev, ebus) {
 
 
 static int opromgetprop(void __user *argp, struct device_node *dp, struct openpromio *op, int bufsize)
 {
-       void *pval;
+       const void *pval;
        int len;
 
        if (!dp ||
        struct opiocdesc op;
        struct device_node *dp;
        char *str;
-       void *pval;
+       const void *pval;
        int err, len;
 
        if (copy_from_user(&op, argp, sizeof(op)))
 
 static void __init fill_sbus_device(struct device_node *dp, struct sbus_dev *sdev)
 {
        unsigned long base;
-       void *pval;
+       const void *pval;
        int len, err;
 
        sdev->prom_node = dp->node;
 
 static void __init sbus_bus_ranges_init(struct device_node *dp, struct sbus_bus *sbus)
 {
-       void *pval;
+       const void *pval;
        int len;
 
        pval = of_get_property(dp, "ranges", &len);
 
        struct scsi_host_template *tpnt = match->data;
        struct Scsi_Host *host;
        struct qlogicpti *qpti;
-       char *fcode;
+       const char *fcode;
 
        /* Sometimes Antares cards come up not completely
         * setup, and we get a report of a zero IRQ.
 
        struct device_node *ap = of_find_node_by_path("/aliases");
 
        if (ap) {
-               char *keyb = of_get_property(ap, "keyboard", NULL);
-               char *ms = of_get_property(ap, "mouse", NULL);
+               const char *keyb = of_get_property(ap, "keyboard", NULL);
+               const char *ms = of_get_property(ap, "mouse", NULL);
 
                if (keyb) {
                        if (dp == of_find_node_by_path(keyb))
 
 static void __devinit cg3_rdi_maybe_fixup_var(struct fb_var_screeninfo *var,
                                              struct device_node *dp)
 {
-       char *params;
+       const char *params;
        char *p;
        int ww, hh;