• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/pcmcia/

Lines Matching defs:p_dev

215 static struct pcmcia_device *pcmcia_get_dev(struct pcmcia_device *p_dev)
218 tmp_dev = get_device(&p_dev->dev);
224 static void pcmcia_put_dev(struct pcmcia_device *p_dev)
226 if (p_dev)
227 put_device(&p_dev->dev);
239 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
242 pcmcia_put_socket(p_dev->socket);
244 kfree(p_dev->prod_id[i]);
245 kfree(p_dev->devname);
246 kref_put(&p_dev->function_config->ref, pcmcia_release_function);
247 kfree(p_dev);
253 struct pcmcia_device *p_dev;
263 p_dev = to_pcmcia_dev(dev);
265 s = p_dev->socket;
269 if ((!p_drv->probe) || (!p_dev->function_config) ||
276 ret = pccard_read_tuple(p_dev->socket, p_dev->func, CISTPL_CONFIG,
279 p_dev->conf.ConfigBase = cis_config.base;
280 p_dev->conf.Present = cis_config.rmask[0];
284 p_dev->conf.ConfigBase = 0;
285 p_dev->conf.Present = 0;
288 ret = p_drv->probe(p_dev);
297 (p_dev->socket->device_count == 1) && (p_dev->device_no == 0))
316 struct pcmcia_device *p_dev;
331 list_for_each_entry_safe(p_dev, tmp, &s->devices_list, socket_device_list) {
332 if (p_dev == leftover)
336 list_del(&p_dev->socket_device_list);
339 dev_dbg(&p_dev->dev, "unregistering device\n");
340 device_unregister(&p_dev->dev);
348 struct pcmcia_device *p_dev;
352 p_dev = to_pcmcia_dev(dev);
361 if ((p_dev->socket->pcmcia_pfc) &&
362 (p_dev->socket->device_count > 0) &&
363 (p_dev->device_no == 0))
364 pcmcia_card_remove(p_dev->socket, p_dev);
371 p_drv->remove(p_dev);
374 if (p_dev->_irq || p_dev->_io || p_dev->_locked)
380 if (p_dev->_win & CLIENT_WIN_REQ(i))
386 pcmcia_put_dev(p_dev);
396 static int pcmcia_device_query(struct pcmcia_device *p_dev)
407 if (!pccard_read_tuple(p_dev->socket, BIND_FN_ALL,
409 mutex_lock(&p_dev->socket->ops_mutex);
410 p_dev->manf_id = manf_id.manf;
411 p_dev->card_id = manf_id.card;
412 p_dev->has_manf_id = 1;
413 p_dev->has_card_id = 1;
414 mutex_unlock(&p_dev->socket->ops_mutex);
417 if (!pccard_read_tuple(p_dev->socket, p_dev->func,
419 mutex_lock(&p_dev->socket->ops_mutex);
420 p_dev->func_id = func_id.func;
421 p_dev->has_func_id = 1;
422 mutex_unlock(&p_dev->socket->ops_mutex);
434 if (!pccard_read_tuple(p_dev->socket, p_dev->func,
436 dev_dbg(&p_dev->dev,
439 mutex_lock(&p_dev->socket->ops_mutex);
440 p_dev->func_id = CISTPL_FUNCID_MEMORY;
441 p_dev->has_func_id = 1;
442 mutex_unlock(&p_dev->socket->ops_mutex);
447 if (!pccard_read_tuple(p_dev->socket, BIND_FN_ALL, CISTPL_VERS_1,
449 mutex_lock(&p_dev->socket->ops_mutex);
467 tmp = p_dev->prod_id[i];
468 p_dev->prod_id[i] = new;
471 mutex_unlock(&p_dev->socket->ops_mutex);
482 struct pcmcia_device *p_dev, *tmp_dev;
491 p_dev = kzalloc(sizeof(struct pcmcia_device), GFP_KERNEL);
492 if (!p_dev)
496 p_dev->device_no = (s->device_count++);
500 if ((p_dev->device_no >= 2) && (function == 0))
504 if (p_dev->device_no >= 4)
507 p_dev->socket = s;
508 p_dev->func = function;
510 p_dev->dev.bus = &pcmcia_bus_type;
511 p_dev->dev.parent = s->dev.parent;
512 p_dev->dev.release = pcmcia_release_dev;
514 p_dev->dma_mask = DMA_MASK_NONE;
515 p_dev->dev.dma_mask = &p_dev->dma_mask;
516 dev_set_name(&p_dev->dev, "%d.%d", p_dev->socket->sock, p_dev->device_no);
517 if (!dev_name(&p_dev->dev))
519 p_dev->devname = kasprintf(GFP_KERNEL, "pcmcia%s", dev_name(&p_dev->dev));
520 if (!p_dev->devname)
522 dev_dbg(&p_dev->dev, "devname is %s\n", p_dev->devname);
527 * p_dev->function_config must be the same for all card functions.
532 if (p_dev->func == tmp_dev->func) {
533 p_dev->function_config = tmp_dev->function_config;
534 p_dev->irq = tmp_dev->irq;
535 kref_get(&p_dev->function_config->ref);
539 list_add(&p_dev->socket_device_list, &s->devices_list);
541 if (pcmcia_setup_irq(p_dev))
542 dev_warn(&p_dev->dev,
545 if (!p_dev->function_config) {
547 dev_dbg(&p_dev->dev, "creating config_t\n");
553 p_dev->function_config = c;
556 c->io[i].name = p_dev->devname;
560 c->mem[i].name = p_dev->devname;
565 p_dev->resource[i] = &p_dev->function_config->io[i];
567 p_dev->resource[i] = &p_dev->function_config->mem[i-MAX_IO_WIN];
571 dev_printk(KERN_NOTICE, &p_dev->dev,
573 p_dev->devname, p_dev->irq);
575 pcmcia_device_query(p_dev);
577 if (device_register(&p_dev->dev))
580 return p_dev;
584 list_del(&p_dev->socket_device_list);
593 kfree(p_dev->prod_id[i]);
594 kfree(p_dev->devname);
595 kfree(p_dev);
646 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
647 if (!p_dev->dev.driver) {
649 pcmcia_device_query(p_dev);
884 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
893 if (pcmcia_devmatch(p_dev, &dynid->id)) {
903 if (pcmcia_devmatch(p_dev, did)) {
917 struct pcmcia_device *p_dev;
924 p_dev = to_pcmcia_dev(dev);
928 if (!p_dev->prod_id[i])
930 hash[i] = crc32(0, p_dev->prod_id[i], strlen(p_dev->prod_id[i]));
933 if (add_uevent_var(env, "SOCKET_NO=%u", p_dev->socket->sock))
936 if (add_uevent_var(env, "DEVICE_NO=%02X", p_dev->device_no))
941 p_dev->has_manf_id ? p_dev->manf_id : 0,
942 p_dev->has_card_id ? p_dev->card_id : 0,
943 p_dev->has_func_id ? p_dev->func_id : 0,
944 p_dev->func,
945 p_dev->device_no,
994 struct pcmcia_device *p_dev = to_pcmcia_dev(dev); \
995 return p_dev->test ? sprintf(buf, format, p_dev->field) : -ENODEV; \
1001 struct pcmcia_device *p_dev = to_pcmcia_dev(dev); \
1002 return p_dev->field ? sprintf(buf, "%s\n", p_dev->field) : -ENODEV; \
1017 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
1022 str += sprintf(str, "%pr\n", p_dev->resource[i]);
1029 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
1031 if (p_dev->suspended)
1040 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
1046 if ((!p_dev->suspended) && !strncmp(buf, "off", 3))
1048 else if (p_dev->suspended && !strncmp(buf, "on", 2))
1057 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
1063 if (!p_dev->prod_id[i])
1065 hash[i] = crc32(0, p_dev->prod_id[i],
1066 strlen(p_dev->prod_id[i]));
1070 p_dev->has_manf_id ? p_dev->manf_id : 0,
1071 p_dev->has_card_id ? p_dev->card_id : 0,
1072 p_dev->has_func_id ? p_dev->func_id : 0,
1073 p_dev->func, p_dev->device_no,
1080 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
1085 mutex_lock(&p_dev->socket->ops_mutex);
1086 p_dev->allow_func_id_match = 1;
1087 mutex_unlock(&p_dev->socket->ops_mutex);
1088 pcmcia_parse_uevents(p_dev->socket, PCMCIA_UEVENT_REQUERY);
1113 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
1117 mutex_lock(&p_dev->socket->ops_mutex);
1118 if (p_dev->suspended) {
1119 mutex_unlock(&p_dev->socket->ops_mutex);
1122 p_dev->suspended = 1;
1123 mutex_unlock(&p_dev->socket->ops_mutex);
1134 ret = p_drv->suspend(p_dev);
1139 p_dev->devname, p_drv->drv.name, ret);
1140 mutex_lock(&p_dev->socket->ops_mutex);
1141 p_dev->suspended = 0;
1142 mutex_unlock(&p_dev->socket->ops_mutex);
1147 if (p_dev->device_no == p_dev->func) {
1149 pcmcia_release_configuration(p_dev);
1159 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
1163 mutex_lock(&p_dev->socket->ops_mutex);
1164 if (!p_dev->suspended) {
1165 mutex_unlock(&p_dev->socket->ops_mutex);
1168 p_dev->suspended = 0;
1169 mutex_unlock(&p_dev->socket->ops_mutex);
1179 if (p_dev->device_no == p_dev->func) {
1181 ret = pcmcia_request_configuration(p_dev, &p_dev->conf);
1187 ret = p_drv->resume(p_dev);
1197 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
1199 if (p_dev->socket != skt || p_dev->suspended)
1208 struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
1210 if (p_dev->socket != skt || !p_dev->suspended)
1297 struct pcmcia_device *p_dev;
1300 p_dev = pcmcia_get_dev(_p_dev);
1301 if (!p_dev)
1304 if (atomic_read(&p_dev->socket->present) != 0)
1305 ret = p_dev;
1307 pcmcia_put_dev(p_dev);