Symbol: npem
drivers/pci/npem.c
113
struct npem *npem;
drivers/pci/npem.c
130
int (*get_active_indications)(struct npem *npem, u32 *inds);
drivers/pci/npem.c
131
int (*set_active_indications)(struct npem *npem, u32 inds);
drivers/pci/npem.c
172
static int npem_read_reg(struct npem *npem, u16 reg, u32 *val)
drivers/pci/npem.c
174
int ret = pci_read_config_dword(npem->dev, npem->pos + reg, val);
drivers/pci/npem.c
179
static int npem_write_ctrl(struct npem *npem, u32 reg)
drivers/pci/npem.c
181
int pos = npem->pos + PCI_NPEM_CTRL;
drivers/pci/npem.c
182
int ret = pci_write_config_dword(npem->dev, pos, reg);
drivers/pci/npem.c
187
static int npem_get_active_indications(struct npem *npem, u32 *inds)
drivers/pci/npem.c
192
ret = npem_read_reg(npem, PCI_NPEM_CTRL, &ctrl);
drivers/pci/npem.c
202
*inds = ctrl & npem->supported_indications;
drivers/pci/npem.c
207
static int npem_set_active_indications(struct npem *npem, u32 inds)
drivers/pci/npem.c
212
lockdep_assert_held(&npem->lock);
drivers/pci/npem.c
217
ret = npem_write_ctrl(npem, ctrl);
drivers/pci/npem.c
232
10 * USEC_PER_MSEC, USEC_PER_SEC, false, npem,
drivers/pci/npem.c
250
return npem_get_active_indications(npem, &npem->active_indications);
drivers/pci/npem.c
348
static int dsm_get_active_indications(struct npem *npem, u32 *buf)
drivers/pci/npem.c
350
int ret = dsm_get(npem->dev, GET_STATE_DSM, buf);
drivers/pci/npem.c
353
*buf &= npem->supported_indications;
drivers/pci/npem.c
357
static int dsm_set_active_indications(struct npem *npem, u32 value)
drivers/pci/npem.c
360
int ret = dsm_evaluate(npem->dev, SET_STATE_DSM, &output, value);
drivers/pci/npem.c
384
npem->active_indications = output.state;
drivers/pci/npem.c
396
static int npem_initialize_active_indications(struct npem *npem)
drivers/pci/npem.c
400
lockdep_assert_held(&npem->lock);
drivers/pci/npem.c
402
if (npem->active_inds_initialized)
drivers/pci/npem.c
405
ret = npem->ops->get_active_indications(npem,
drivers/pci/npem.c
406
&npem->active_indications);
drivers/pci/npem.c
410
npem->active_inds_initialized = true;
drivers/pci/npem.c
422
struct npem *npem = nled->npem;
drivers/pci/npem.c
425
ret = mutex_lock_interruptible(&npem->lock);
drivers/pci/npem.c
429
ret = npem_initialize_active_indications(npem);
drivers/pci/npem.c
433
if (npem->active_indications & nled->indication->bit)
drivers/pci/npem.c
437
mutex_unlock(&npem->lock);
drivers/pci/npem.c
445
struct npem *npem = nled->npem;
drivers/pci/npem.c
449
ret = mutex_lock_interruptible(&npem->lock);
drivers/pci/npem.c
453
ret = npem_initialize_active_indications(npem);
drivers/pci/npem.c
458
indications = npem->active_indications & ~(nled->indication->bit);
drivers/pci/npem.c
460
indications = npem->active_indications | nled->indication->bit;
drivers/pci/npem.c
462
ret = npem->ops->set_active_indications(npem, indications);
drivers/pci/npem.c
465
mutex_unlock(&npem->lock);
drivers/pci/npem.c
469
static void npem_free(struct npem *npem)
drivers/pci/npem.c
474
if (!npem)
drivers/pci/npem.c
477
for (cnt = 0; cnt < npem->led_cnt; cnt++) {
drivers/pci/npem.c
478
nled = &npem->leds[cnt];
drivers/pci/npem.c
484
mutex_destroy(&npem->lock);
drivers/pci/npem.c
485
kfree(npem);
drivers/pci/npem.c
488
static int pci_npem_set_led_classdev(struct npem *npem, struct npem_led *nled)
drivers/pci/npem.c
495
init_data.devicename = pci_name(npem->dev);
drivers/pci/npem.c
498
ret = led_compose_name(&npem->dev->dev, &init_data, name);
drivers/pci/npem.c
509
ret = led_classdev_register(&npem->dev->dev, led);
drivers/pci/npem.c
523
struct npem *npem;
drivers/pci/npem.c
527
npem = kzalloc_flex(*npem, leds, supported_cnt);
drivers/pci/npem.c
528
if (!npem)
drivers/pci/npem.c
531
npem->supported_indications = supported;
drivers/pci/npem.c
532
npem->led_cnt = supported_cnt;
drivers/pci/npem.c
533
npem->pos = pos;
drivers/pci/npem.c
534
npem->dev = dev;
drivers/pci/npem.c
535
npem->ops = ops;
drivers/pci/npem.c
537
mutex_init(&npem->lock);
drivers/pci/npem.c
540
if (!(npem->supported_indications & indication->bit))
drivers/pci/npem.c
543
nled = &npem->leds[led_idx++];
drivers/pci/npem.c
545
nled->npem = npem;
drivers/pci/npem.c
547
ret = pci_npem_set_led_classdev(npem, nled);
drivers/pci/npem.c
549
npem_free(npem);
drivers/pci/npem.c
554
dev->npem = npem;
drivers/pci/npem.c
560
npem_free(dev->npem);
include/linux/pci.h
559
struct npem *npem; /* Native PCIe Enclosure Management */