/kernel/linux/linux-5.10/drivers/char/ipmi/ |
H A D | kcs_bmc.c | 17 #include "kcs_bmc.h" 48 static inline u8 read_data(struct kcs_bmc *kcs_bmc) in read_data() argument 50 return kcs_bmc->io_inputb(kcs_bmc, kcs_bmc->ioreg.idr); in read_data() 53 static inline void write_data(struct kcs_bmc *kcs_bmc, u8 data) in write_data() argument 55 kcs_bmc->io_outputb(kcs_bmc, kcs_bm in write_data() 58 read_status(struct kcs_bmc *kcs_bmc) read_status() argument 63 write_status(struct kcs_bmc *kcs_bmc, u8 data) write_status() argument 68 update_status_bits(struct kcs_bmc *kcs_bmc, u8 mask, u8 val) update_status_bits() argument 78 set_state(struct kcs_bmc *kcs_bmc, u8 state) set_state() argument 84 kcs_force_abort(struct kcs_bmc *kcs_bmc) kcs_force_abort() argument 95 kcs_bmc_handle_data(struct kcs_bmc *kcs_bmc) kcs_bmc_handle_data() argument 171 kcs_bmc_handle_cmd(struct kcs_bmc *kcs_bmc) kcs_bmc_handle_cmd() argument 212 kcs_bmc_handle_event(struct kcs_bmc *kcs_bmc) kcs_bmc_handle_event() argument 245 struct kcs_bmc *kcs_bmc = to_kcs_bmc(filp); kcs_bmc_open() local 260 struct kcs_bmc *kcs_bmc = to_kcs_bmc(filp); kcs_bmc_poll() local 276 struct kcs_bmc *kcs_bmc = to_kcs_bmc(filp); kcs_bmc_read() local 338 struct kcs_bmc *kcs_bmc = to_kcs_bmc(filp); kcs_bmc_write() local 374 struct kcs_bmc *kcs_bmc = to_kcs_bmc(filp); kcs_bmc_ioctl() local 406 struct kcs_bmc *kcs_bmc = to_kcs_bmc(filp); kcs_bmc_release() local 428 struct kcs_bmc *kcs_bmc; kcs_bmc_alloc() local [all...] |
H A D | kcs_bmc_npcm7xx.c | 20 #include "kcs_bmc.h" 79 static u8 npcm7xx_kcs_inb(struct kcs_bmc *kcs_bmc, u32 reg) in npcm7xx_kcs_inb() argument 81 struct npcm7xx_kcs_bmc *priv = kcs_bmc_priv(kcs_bmc); in npcm7xx_kcs_inb() 91 static void npcm7xx_kcs_outb(struct kcs_bmc *kcs_bmc, u32 reg, u8 data) in npcm7xx_kcs_outb() argument 93 struct npcm7xx_kcs_bmc *priv = kcs_bmc_priv(kcs_bmc); in npcm7xx_kcs_outb() 100 static void npcm7xx_kcs_enable_channel(struct kcs_bmc *kcs_bmc, bool enable) in npcm7xx_kcs_enable_channel() argument 102 struct npcm7xx_kcs_bmc *priv = kcs_bmc_priv(kcs_bmc); in npcm7xx_kcs_enable_channel() 113 struct kcs_bmc *kcs_bmc = arg; npcm7xx_kcs_irq() local 121 npcm7xx_kcs_config_irq(struct kcs_bmc *kcs_bmc, struct platform_device *pdev) npcm7xx_kcs_config_irq() argument 139 struct kcs_bmc *kcs_bmc; npcm7xx_kcs_probe() local 189 struct kcs_bmc *kcs_bmc = dev_get_drvdata(&pdev->dev); npcm7xx_kcs_remove() local [all...] |
H A D | kcs_bmc_aspeed.c | 23 #include "kcs_bmc.h" 70 static u8 aspeed_kcs_inb(struct kcs_bmc *kcs_bmc, u32 reg) in aspeed_kcs_inb() argument 72 struct aspeed_kcs_bmc *priv = kcs_bmc_priv(kcs_bmc); in aspeed_kcs_inb() 82 static void aspeed_kcs_outb(struct kcs_bmc *kcs_bmc, u32 reg, u8 data) in aspeed_kcs_outb() argument 84 struct aspeed_kcs_bmc *priv = kcs_bmc_priv(kcs_bmc); in aspeed_kcs_outb() 105 static void aspeed_kcs_set_address(struct kcs_bmc *kcs_bmc, u16 addr) in aspeed_kcs_set_address() argument 107 struct aspeed_kcs_bmc *priv = kcs_bmc_priv(kcs_bmc); in aspeed_kcs_set_address() 139 aspeed_kcs_enable_channel(struct kcs_bmc *kcs_bmc, bool enable) aspeed_kcs_enable_channel() argument 208 struct kcs_bmc *kcs_bmc = arg; aspeed_kcs_irq() local 216 aspeed_kcs_config_irq(struct kcs_bmc *kcs_bmc, struct platform_device *pdev) aspeed_kcs_config_irq() argument 347 struct kcs_bmc *kcs_bmc; aspeed_kcs_probe() local 391 struct kcs_bmc *kcs_bmc = dev_get_drvdata(&pdev->dev); aspeed_kcs_remove() local [all...] |
H A D | kcs_bmc.h | 69 struct kcs_bmc { struct 77 u8 (*io_inputb)(struct kcs_bmc *kcs_bmc, u32 reg); 78 void (*io_outputb)(struct kcs_bmc *kcs_bmc, u32 reg, u8 b); 100 static inline void *kcs_bmc_priv(struct kcs_bmc *kcs_bmc) in kcs_bmc_priv() argument 102 return kcs_bmc->priv; in kcs_bmc_priv() 105 int kcs_bmc_handle_event(struct kcs_bmc *kcs_bmc); [all...] |
H A D | Makefile | 25 obj-$(CONFIG_IPMI_KCS_BMC) += kcs_bmc.o
|
/kernel/linux/linux-6.6/drivers/char/ipmi/ |
H A D | kcs_bmc.c | 12 #include "kcs_bmc.h" 25 u8 kcs_bmc_read_data(struct kcs_bmc_device *kcs_bmc) in kcs_bmc_read_data() argument 27 return kcs_bmc->ops->io_inputb(kcs_bmc, kcs_bmc->ioreg.idr); in kcs_bmc_read_data() 31 void kcs_bmc_write_data(struct kcs_bmc_device *kcs_bmc, u8 data) in kcs_bmc_write_data() argument 33 kcs_bmc->ops->io_outputb(kcs_bmc, kcs_bmc->ioreg.odr, data); in kcs_bmc_write_data() 37 u8 kcs_bmc_read_status(struct kcs_bmc_device *kcs_bmc) in kcs_bmc_read_status() argument 43 kcs_bmc_write_status(struct kcs_bmc_device *kcs_bmc, u8 data) kcs_bmc_write_status() argument 49 kcs_bmc_update_status(struct kcs_bmc_device *kcs_bmc, u8 mask, u8 val) kcs_bmc_update_status() argument 55 kcs_bmc_handle_event(struct kcs_bmc_device *kcs_bmc) kcs_bmc_handle_event() argument 71 kcs_bmc_enable_device(struct kcs_bmc_device *kcs_bmc, struct kcs_bmc_client *client) kcs_bmc_enable_device() argument 91 kcs_bmc_disable_device(struct kcs_bmc_device *kcs_bmc, struct kcs_bmc_client *client) kcs_bmc_disable_device() argument 104 kcs_bmc_add_device(struct kcs_bmc_device *kcs_bmc) kcs_bmc_add_device() argument 130 kcs_bmc_remove_device(struct kcs_bmc_device *kcs_bmc) kcs_bmc_remove_device() argument 149 struct kcs_bmc_device *kcs_bmc; kcs_bmc_register_driver() local 166 struct kcs_bmc_device *kcs_bmc; kcs_bmc_unregister_driver() local 181 kcs_bmc_update_event_mask(struct kcs_bmc_device *kcs_bmc, u8 mask, u8 events) kcs_bmc_update_event_mask() argument [all...] |
H A D | kcs_bmc_npcm7xx.c | 69 struct kcs_bmc_device kcs_bmc; member 82 static inline struct npcm7xx_kcs_bmc *to_npcm7xx_kcs_bmc(struct kcs_bmc_device *kcs_bmc) in to_npcm7xx_kcs_bmc() argument 84 return container_of(kcs_bmc, struct npcm7xx_kcs_bmc, kcs_bmc); in to_npcm7xx_kcs_bmc() 87 static u8 npcm7xx_kcs_inb(struct kcs_bmc_device *kcs_bmc, u32 reg) in npcm7xx_kcs_inb() argument 89 struct npcm7xx_kcs_bmc *priv = to_npcm7xx_kcs_bmc(kcs_bmc); in npcm7xx_kcs_inb() 99 static void npcm7xx_kcs_outb(struct kcs_bmc_device *kcs_bmc, u32 reg, u8 data) in npcm7xx_kcs_outb() argument 101 struct npcm7xx_kcs_bmc *priv = to_npcm7xx_kcs_bmc(kcs_bmc); in npcm7xx_kcs_outb() 108 static void npcm7xx_kcs_updateb(struct kcs_bmc_device *kcs_bmc, u32 reg, u8 mask, u8 data) in npcm7xx_kcs_updateb() argument 110 struct npcm7xx_kcs_bmc *priv = to_npcm7xx_kcs_bmc(kcs_bmc); in npcm7xx_kcs_updateb() 117 npcm7xx_kcs_enable_channel(struct kcs_bmc_device *kcs_bmc, bool enable) npcm7xx_kcs_enable_channel() argument 125 npcm7xx_kcs_irq_mask_update(struct kcs_bmc_device *kcs_bmc, u8 mask, u8 state) npcm7xx_kcs_irq_mask_update() argument 140 struct kcs_bmc_device *kcs_bmc = arg; npcm7xx_kcs_irq() local 145 npcm7xx_kcs_config_irq(struct kcs_bmc_device *kcs_bmc, struct platform_device *pdev) npcm7xx_kcs_config_irq() argument 170 struct kcs_bmc_device *kcs_bmc; npcm7xx_kcs_probe() local 224 struct kcs_bmc_device *kcs_bmc = &priv->kcs_bmc; npcm7xx_kcs_remove() local [all...] |
H A D | kcs_bmc_aspeed.c | 114 struct kcs_bmc_device kcs_bmc; member 130 static inline struct aspeed_kcs_bmc *to_aspeed_kcs_bmc(struct kcs_bmc_device *kcs_bmc) in to_aspeed_kcs_bmc() argument 132 return container_of(kcs_bmc, struct aspeed_kcs_bmc, kcs_bmc); in to_aspeed_kcs_bmc() 135 static u8 aspeed_kcs_inb(struct kcs_bmc_device *kcs_bmc, u32 reg) in aspeed_kcs_inb() argument 137 struct aspeed_kcs_bmc *priv = to_aspeed_kcs_bmc(kcs_bmc); in aspeed_kcs_inb() 147 static void aspeed_kcs_outb(struct kcs_bmc_device *kcs_bmc, u32 reg, u8 data) in aspeed_kcs_outb() argument 149 struct aspeed_kcs_bmc *priv = to_aspeed_kcs_bmc(kcs_bmc); in aspeed_kcs_outb() 170 switch (kcs_bmc->channel) { in aspeed_kcs_outb() 199 static void aspeed_kcs_updateb(struct kcs_bmc_device *kcs_bmc, u3 argument 228 aspeed_kcs_set_address(struct kcs_bmc_device *kcs_bmc, u32 addrs[2], int nr_addrs) aspeed_kcs_set_address() argument 357 aspeed_kcs_enable_channel(struct kcs_bmc_device *kcs_bmc, bool enable) aspeed_kcs_enable_channel() argument 405 aspeed_kcs_irq_mask_update(struct kcs_bmc_device *kcs_bmc, u8 mask, u8 state) aspeed_kcs_irq_mask_update() argument 471 struct kcs_bmc_device *kcs_bmc = arg; aspeed_kcs_irq() local 476 aspeed_kcs_config_downstream_irq(struct kcs_bmc_device *kcs_bmc, struct platform_device *pdev) aspeed_kcs_config_downstream_irq() argument 557 struct kcs_bmc_device *kcs_bmc; aspeed_kcs_probe() local 647 struct kcs_bmc_device *kcs_bmc = &priv->kcs_bmc; aspeed_kcs_remove() local [all...] |
H A D | kcs_bmc_client.h | 9 #include "kcs_bmc.h" 12 int (*add_device)(struct kcs_bmc_device *kcs_bmc); 13 int (*remove_device)(struct kcs_bmc_device *kcs_bmc); 35 int kcs_bmc_enable_device(struct kcs_bmc_device *kcs_bmc, struct kcs_bmc_client *client); 36 void kcs_bmc_disable_device(struct kcs_bmc_device *kcs_bmc, struct kcs_bmc_client *client); 38 void kcs_bmc_update_event_mask(struct kcs_bmc_device *kcs_bmc, u8 mask, u8 events); 40 u8 kcs_bmc_read_data(struct kcs_bmc_device *kcs_bmc); 41 void kcs_bmc_write_data(struct kcs_bmc_device *kcs_bmc, u8 data); 42 u8 kcs_bmc_read_status(struct kcs_bmc_device *kcs_bmc); 43 void kcs_bmc_write_status(struct kcs_bmc_device *kcs_bmc, u [all...] |
H A D | kcs_bmc_device.h | 9 #include "kcs_bmc.h" 12 void (*irq_mask_update)(struct kcs_bmc_device *kcs_bmc, u8 mask, u8 enable); 13 u8 (*io_inputb)(struct kcs_bmc_device *kcs_bmc, u32 reg); 14 void (*io_outputb)(struct kcs_bmc_device *kcs_bmc, u32 reg, u8 b); 15 void (*io_updateb)(struct kcs_bmc_device *kcs_bmc, u32 reg, u8 mask, u8 b); 18 irqreturn_t kcs_bmc_handle_event(struct kcs_bmc_device *kcs_bmc); 19 int kcs_bmc_add_device(struct kcs_bmc_device *kcs_bmc); 20 void kcs_bmc_remove_device(struct kcs_bmc_device *kcs_bmc);
|
H A D | kcs_bmc_serio.c | 70 static int kcs_bmc_serio_add_device(struct kcs_bmc_device *kcs_bmc) in kcs_bmc_serio_add_device() argument 75 priv = devm_kzalloc(kcs_bmc->dev, sizeof(*priv), GFP_KERNEL); in kcs_bmc_serio_add_device() 88 port->dev.parent = kcs_bmc->dev; in kcs_bmc_serio_add_device() 92 priv->client.dev = kcs_bmc; in kcs_bmc_serio_add_device() 101 dev_info(kcs_bmc->dev, "Initialised serio client for channel %d", kcs_bmc->channel); in kcs_bmc_serio_add_device() 106 static int kcs_bmc_serio_remove_device(struct kcs_bmc_device *kcs_bmc) in kcs_bmc_serio_remove_device() argument 112 if (pos->client.dev == kcs_bmc) { in kcs_bmc_serio_remove_device() 127 kcs_bmc_disable_device(kcs_bmc, &priv->client); in kcs_bmc_serio_remove_device()
|
H A D | kcs_bmc_cdev_ipmi.c | 472 static int kcs_bmc_ipmi_add_device(struct kcs_bmc_device *kcs_bmc) in kcs_bmc_ipmi_add_device() argument 477 priv = devm_kzalloc(kcs_bmc->dev, sizeof(*priv), GFP_KERNEL); in kcs_bmc_ipmi_add_device() 486 priv->client.dev = kcs_bmc; in kcs_bmc_ipmi_add_device() 488 priv->data_in = devm_kmalloc(kcs_bmc->dev, KCS_MSG_BUFSIZ, GFP_KERNEL); in kcs_bmc_ipmi_add_device() 489 priv->data_out = devm_kmalloc(kcs_bmc->dev, KCS_MSG_BUFSIZ, GFP_KERNEL); in kcs_bmc_ipmi_add_device() 490 priv->kbuffer = devm_kmalloc(kcs_bmc->dev, KCS_MSG_BUFSIZ, GFP_KERNEL); in kcs_bmc_ipmi_add_device() 493 priv->miscdev.name = devm_kasprintf(kcs_bmc->dev, GFP_KERNEL, "%s%u", DEVICE_NAME, in kcs_bmc_ipmi_add_device() 494 kcs_bmc->channel); in kcs_bmc_ipmi_add_device() 502 dev_err(kcs_bmc->dev, "Unable to register device: %d\n", rc); in kcs_bmc_ipmi_add_device() 510 dev_info(kcs_bmc in kcs_bmc_ipmi_add_device() 515 kcs_bmc_ipmi_remove_device(struct kcs_bmc_device *kcs_bmc) kcs_bmc_ipmi_remove_device() argument [all...] |
H A D | Makefile | 26 obj-$(CONFIG_IPMI_KCS_BMC) += kcs_bmc.o
|