Select the types of activity you want to include in your feed.
Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6
* 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6: drivercore: revert addition of of_match to struct device of: fix race when matching drivers
···14581458 return err;14591459}1460146014611461+static const struct of_device_id schizo_match[];14611462static int __devinit schizo_probe(struct platform_device *op)14621463{14631463- if (!op->dev.of_match)14641464+ const struct of_device_id *match;14651465+14661466+ match = of_match_device(schizo_match, &op->dev);14671467+ if (!match)14641468 return -EINVAL;14651465- return __schizo_init(op, (unsigned long) op->dev.of_match->data);14691469+ return __schizo_init(op, (unsigned long)match->data);14661470}1467147114681472/* The ordering of this table is very important. Some Tomatillo
+5-2
drivers/atm/fore200e.c
···26432643}2644264426452645#ifdef CONFIG_SBUS26462646+static const struct of_device_id fore200e_sba_match[];26462647static int __devinit fore200e_sba_probe(struct platform_device *op)26472648{26492649+ const struct of_device_id *match;26482650 const struct fore200e_bus *bus;26492651 struct fore200e *fore200e;26502652 static int index = 0;26512653 int err;2652265426532653- if (!op->dev.of_match)26552655+ match = of_match_device(fore200e_sba_match, &op->dev);26562656+ if (!match)26542657 return -EINVAL;26552655- bus = op->dev.of_match->data;26582658+ bus = match->data;2656265926572660 fore200e = kzalloc(sizeof(struct fore200e), GFP_KERNEL);26582661 if (!fore200e)
+5-2
drivers/char/hw_random/n2-drv.c
···619619 pr_info("%s", version);620620}621621622622+static const struct of_device_id n2rng_match[];622623static int __devinit n2rng_probe(struct platform_device *op)623624{625625+ const struct of_device_id *match;624626 int victoria_falls;625627 int err = -ENOMEM;626628 struct n2rng *np;627629628628- if (!op->dev.of_match)630630+ match = of_match_device(n2rng_match, &op->dev);631631+ if (!match)629632 return -EINVAL;630630- victoria_falls = (op->dev.of_match->data != NULL);633633+ victoria_falls = (match->data != NULL);631634632635 n2rng_driver_version();633636 np = kzalloc(sizeof(*np), GFP_KERNEL);
···247247}248248#endif /* CONFIG_PPC_MPC512x */249249250250+static struct of_device_id mpc5xxx_can_table[];250251static int __devinit mpc5xxx_can_probe(struct platform_device *ofdev)251252{253253+ const struct of_device_id *match;252254 struct mpc5xxx_can_data *data;253255 struct device_node *np = ofdev->dev.of_node;254256 struct net_device *dev;···260258 int irq, mscan_clksrc = 0;261259 int err = -ENOMEM;262260263263- if (!ofdev->dev.of_match)261261+ match = of_match_device(mpc5xxx_can_table, &ofdev->dev);262262+ if (!match)264263 return -EINVAL;265265- data = (struct mpc5xxx_can_data *)ofdev->dev.of_match->data;264264+ data = match->data;266265267266 base = of_iomap(np, 0);268267 if (!base) {
+6-3
drivers/net/fs_enet/fs_enet-main.c
···998998#endif999999};1000100010011001+static struct of_device_id fs_enet_match[];10011002static int __devinit fs_enet_probe(struct platform_device *ofdev)10021003{10041004+ const struct of_device_id *match;10031005 struct net_device *ndev;10041006 struct fs_enet_private *fep;10051007 struct fs_platform_info *fpi;···10091007 const u8 *mac_addr;10101008 int privsize, len, ret = -ENODEV;1011100910121012- if (!ofdev->dev.of_match)10101010+ match = of_match_device(fs_enet_match, &ofdev->dev);10111011+ if (!match)10131012 return -EINVAL;1014101310151014 fpi = kzalloc(sizeof(*fpi), GFP_KERNEL);10161015 if (!fpi)10171016 return -ENOMEM;1018101710191019- if (!IS_FEC(ofdev->dev.of_match)) {10181018+ if (!IS_FEC(match)) {10201019 data = of_get_property(ofdev->dev.of_node, "fsl,cpm-command", &len);10211020 if (!data || len != 4)10221021 goto out_free_fpi;···10521049 fep->dev = &ofdev->dev;10531050 fep->ndev = ndev;10541051 fep->fpi = fpi;10551055- fep->ops = ofdev->dev.of_match->data;10521052+ fep->ops = match->data;1056105310571054 ret = fep->ops->setup_data(ndev);10581055 if (ret)
+5-2
drivers/net/fs_enet/mii-fec.c
···101101 return 0;102102}103103104104+static struct of_device_id fs_enet_mdio_fec_match[];104105static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)105106{107107+ const struct of_device_id *match;106108 struct resource res;107109 struct mii_bus *new_bus;108110 struct fec_info *fec;109111 int (*get_bus_freq)(struct device_node *);110112 int ret = -ENOMEM, clock, speed;111113112112- if (!ofdev->dev.of_match)114114+ match = of_match_device(fs_enet_mdio_fec_match, &ofdev->dev);115115+ if (!match)113116 return -EINVAL;114114- get_bus_freq = ofdev->dev.of_match->data;117117+ get_bus_freq = match->data;115118116119 new_bus = mdiobus_alloc();117120 if (!new_bus)
+5-2
drivers/net/sunhme.c
···32373237#endif3238323832393239#ifdef CONFIG_SBUS32403240+static const struct of_device_id hme_sbus_match[];32403241static int __devinit hme_sbus_probe(struct platform_device *op)32413242{32433243+ const struct of_device_id *match;32423244 struct device_node *dp = op->dev.of_node;32433245 const char *model = of_get_property(dp, "model", NULL);32443246 int is_qfe;3245324732463246- if (!op->dev.of_match)32483248+ match = of_match_device(hme_sbus_match, &op->dev);32493249+ if (!match)32473250 return -EINVAL;32483248- is_qfe = (op->dev.of_match->data != NULL);32513251+ is_qfe = (match->data != NULL);3249325232503253 if (!is_qfe && model && !strcmp(model, "SUNW,sbus-qfe"))32513254 is_qfe = 1;
+5-2
drivers/scsi/qlogicpti.c
···12921292 .use_clustering = ENABLE_CLUSTERING,12931293};1294129412951295+static const struct of_device_id qpti_match[];12951296static int __devinit qpti_sbus_probe(struct platform_device *op)12961297{12981298+ const struct of_device_id *match;12971299 struct scsi_host_template *tpnt;12981300 struct device_node *dp = op->dev.of_node;12991301 struct Scsi_Host *host;···13031301 static int nqptis;13041302 const char *fcode;1305130313061306- if (!op->dev.of_match)13041304+ match = of_match_device(qpti_match, &op->dev);13051305+ if (!match)13071306 return -EINVAL;13081308- tpnt = op->dev.of_match->data;13071307+ tpnt = match->data;1309130813101309 /* Sometimes Antares cards come up not completely13111310 * setup, and we get a report of a zero IRQ.
+5-2
drivers/tty/serial/of_serial.c
···8080/*8181 * Try to register a serial port8282 */8383+static struct of_device_id of_platform_serial_table[];8384static int __devinit of_platform_serial_probe(struct platform_device *ofdev)8485{8686+ const struct of_device_id *match;8587 struct of_serial_info *info;8688 struct uart_port port;8789 int port_type;8890 int ret;89919090- if (!ofdev->dev.of_match)9292+ match = of_match_device(of_platform_serial_table, &ofdev->dev);9393+ if (!match)9194 return -EINVAL;92959396 if (of_find_property(ofdev->dev.of_node, "used-by-rtas", NULL))···10097 if (info == NULL)10198 return -ENOMEM;10299103103- port_type = (unsigned long)ofdev->dev.of_match->data;100100+ port_type = (unsigned long)match->data;104101 ret = of_platform_serial_setup(ofdev, port_type, &port);105102 if (ret)106103 goto out;
+5-2
drivers/usb/gadget/fsl_qe_udc.c
···25392539}2540254025412541/* Driver probe functions */25422542+static const struct of_device_id qe_udc_match[];25422543static int __devinit qe_udc_probe(struct platform_device *ofdev)25432544{25452545+ const struct of_device_id *match;25442546 struct device_node *np = ofdev->dev.of_node;25452547 struct qe_ep *ep;25462548 unsigned int ret = 0;25472549 unsigned int i;25482550 const void *prop;2549255125502550- if (!ofdev->dev.of_match)25522552+ match = of_match_device(qe_udc_match, &ofdev->dev);25532553+ if (!match)25512554 return -EINVAL;2552255525532556 prop = of_get_property(np, "mode", NULL);···25642561 return -ENOMEM;25652562 }2566256325672567- udc_controller->soc_type = (unsigned long)ofdev->dev.of_match->data;25642564+ udc_controller->soc_type = (unsigned long)match->data;25682565 udc_controller->usb_regs = of_iomap(np, 0);25692566 if (!udc_controller->usb_regs) {25702567 ret = -ENOMEM;
+5-2
drivers/watchdog/mpc8xxx_wdt.c
···185185 .fops = &mpc8xxx_wdt_fops,186186};187187188188+static const struct of_device_id mpc8xxx_wdt_match[];188189static int __devinit mpc8xxx_wdt_probe(struct platform_device *ofdev)189190{190191 int ret;192192+ const struct of_device_id *match;191193 struct device_node *np = ofdev->dev.of_node;192194 struct mpc8xxx_wdt_type *wdt_type;193195 u32 freq = fsl_get_sys_freq();194196 bool enabled;195197196196- if (!ofdev->dev.of_match)198198+ match = of_match_device(mpc8xxx_wdt_match, &ofdev->dev);199199+ if (!match)197200 return -EINVAL;198198- wdt_type = ofdev->dev.of_match->data;201201+ wdt_type = match->data;199202200203 if (!freq || freq == -1)201204 return -EINVAL;