lpc_snoop 129 drivers/soc/aspeed/aspeed-lpc-snoop.c struct aspeed_lpc_snoop *lpc_snoop = arg; lpc_snoop 132 drivers/soc/aspeed/aspeed-lpc-snoop.c if (regmap_read(lpc_snoop->regmap, HICR6, ®)) lpc_snoop 141 drivers/soc/aspeed/aspeed-lpc-snoop.c regmap_write(lpc_snoop->regmap, HICR6, reg); lpc_snoop 144 drivers/soc/aspeed/aspeed-lpc-snoop.c regmap_read(lpc_snoop->regmap, SNPWDR, &data); lpc_snoop 149 drivers/soc/aspeed/aspeed-lpc-snoop.c put_fifo_with_discard(&lpc_snoop->chan[0], val); lpc_snoop 154 drivers/soc/aspeed/aspeed-lpc-snoop.c put_fifo_with_discard(&lpc_snoop->chan[1], val); lpc_snoop 160 drivers/soc/aspeed/aspeed-lpc-snoop.c static int aspeed_lpc_snoop_config_irq(struct aspeed_lpc_snoop *lpc_snoop, lpc_snoop 166 drivers/soc/aspeed/aspeed-lpc-snoop.c lpc_snoop->irq = platform_get_irq(pdev, 0); lpc_snoop 167 drivers/soc/aspeed/aspeed-lpc-snoop.c if (!lpc_snoop->irq) lpc_snoop 170 drivers/soc/aspeed/aspeed-lpc-snoop.c rc = devm_request_irq(dev, lpc_snoop->irq, lpc_snoop 172 drivers/soc/aspeed/aspeed-lpc-snoop.c DEVICE_NAME, lpc_snoop); lpc_snoop 174 drivers/soc/aspeed/aspeed-lpc-snoop.c dev_warn(dev, "Unable to request IRQ %d\n", lpc_snoop->irq); lpc_snoop 175 drivers/soc/aspeed/aspeed-lpc-snoop.c lpc_snoop->irq = 0; lpc_snoop 182 drivers/soc/aspeed/aspeed-lpc-snoop.c static int aspeed_lpc_enable_snoop(struct aspeed_lpc_snoop *lpc_snoop, lpc_snoop 191 drivers/soc/aspeed/aspeed-lpc-snoop.c init_waitqueue_head(&lpc_snoop->chan[channel].wq); lpc_snoop 193 drivers/soc/aspeed/aspeed-lpc-snoop.c rc = kfifo_alloc(&lpc_snoop->chan[channel].fifo, lpc_snoop 198 drivers/soc/aspeed/aspeed-lpc-snoop.c lpc_snoop->chan[channel].miscdev.minor = MISC_DYNAMIC_MINOR; lpc_snoop 199 drivers/soc/aspeed/aspeed-lpc-snoop.c lpc_snoop->chan[channel].miscdev.name = lpc_snoop 201 drivers/soc/aspeed/aspeed-lpc-snoop.c lpc_snoop->chan[channel].miscdev.fops = &snoop_fops; lpc_snoop 202 drivers/soc/aspeed/aspeed-lpc-snoop.c lpc_snoop->chan[channel].miscdev.parent = dev; lpc_snoop 203 drivers/soc/aspeed/aspeed-lpc-snoop.c rc = misc_register(&lpc_snoop->chan[channel].miscdev); lpc_snoop 225 drivers/soc/aspeed/aspeed-lpc-snoop.c regmap_update_bits(lpc_snoop->regmap, HICR5, hicr5_en, hicr5_en); lpc_snoop 226 drivers/soc/aspeed/aspeed-lpc-snoop.c regmap_update_bits(lpc_snoop->regmap, SNPWADR, snpwadr_mask, lpc_snoop 229 drivers/soc/aspeed/aspeed-lpc-snoop.c regmap_update_bits(lpc_snoop->regmap, HICRB, lpc_snoop 235 drivers/soc/aspeed/aspeed-lpc-snoop.c static void aspeed_lpc_disable_snoop(struct aspeed_lpc_snoop *lpc_snoop, lpc_snoop 240 drivers/soc/aspeed/aspeed-lpc-snoop.c regmap_update_bits(lpc_snoop->regmap, HICR5, lpc_snoop 245 drivers/soc/aspeed/aspeed-lpc-snoop.c regmap_update_bits(lpc_snoop->regmap, HICR5, lpc_snoop 253 drivers/soc/aspeed/aspeed-lpc-snoop.c kfifo_free(&lpc_snoop->chan[channel].fifo); lpc_snoop 254 drivers/soc/aspeed/aspeed-lpc-snoop.c misc_deregister(&lpc_snoop->chan[channel].miscdev); lpc_snoop 259 drivers/soc/aspeed/aspeed-lpc-snoop.c struct aspeed_lpc_snoop *lpc_snoop; lpc_snoop 266 drivers/soc/aspeed/aspeed-lpc-snoop.c lpc_snoop = devm_kzalloc(dev, sizeof(*lpc_snoop), GFP_KERNEL); lpc_snoop 267 drivers/soc/aspeed/aspeed-lpc-snoop.c if (!lpc_snoop) lpc_snoop 270 drivers/soc/aspeed/aspeed-lpc-snoop.c lpc_snoop->regmap = syscon_node_to_regmap( lpc_snoop 272 drivers/soc/aspeed/aspeed-lpc-snoop.c if (IS_ERR(lpc_snoop->regmap)) { lpc_snoop 277 drivers/soc/aspeed/aspeed-lpc-snoop.c dev_set_drvdata(&pdev->dev, lpc_snoop); lpc_snoop 285 drivers/soc/aspeed/aspeed-lpc-snoop.c rc = aspeed_lpc_snoop_config_irq(lpc_snoop, pdev); lpc_snoop 289 drivers/soc/aspeed/aspeed-lpc-snoop.c rc = aspeed_lpc_enable_snoop(lpc_snoop, dev, 0, port); lpc_snoop 296 drivers/soc/aspeed/aspeed-lpc-snoop.c rc = aspeed_lpc_enable_snoop(lpc_snoop, dev, 1, port); lpc_snoop 298 drivers/soc/aspeed/aspeed-lpc-snoop.c aspeed_lpc_disable_snoop(lpc_snoop, 0); lpc_snoop 306 drivers/soc/aspeed/aspeed-lpc-snoop.c struct aspeed_lpc_snoop *lpc_snoop = dev_get_drvdata(&pdev->dev); lpc_snoop 309 drivers/soc/aspeed/aspeed-lpc-snoop.c aspeed_lpc_disable_snoop(lpc_snoop, 0); lpc_snoop 310 drivers/soc/aspeed/aspeed-lpc-snoop.c aspeed_lpc_disable_snoop(lpc_snoop, 1);