All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <202605101332.SfUuii8x-lkp@intel.com>

diff --git a/a/1.txt b/N1/1.txt
index 8899727..f9731be 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,13 +1,6 @@
-BCC: lkp@intel.com
-CC: oe-kbuild-all@lists.linux.dev
-TO: Hector Martin <marcan@marcan.st>
-CC: Janne Grunau <j@jannau.net>
-
 tree:   https://github.com/AsahiLinux/linux bits/090-spi-hid
 head:   7b3c6e8461f3035d025ece758919facbc1c6d854
 commit: 9ac13ff0fc75010681a6ea5fd694db592dea9069 [17/19] soc: apple: Add DockChannel driver
-:::::: branch date: 20 hours ago
-:::::: commit date: 20 hours ago
 config: um-randconfig-r072-20260509 (https://download.01.org/0day-ci/archive/20260510/202605101332.SfUuii8x-lkp@intel.com/config)
 compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 5bac06718f502014fade905512f1d26d578a18f3)
 smatch: v0.5.0-9065-ge9cc34fd
@@ -27,7 +20,6 @@ drivers/soc/apple/dockchannel.c:247 dockchannel_init() warn: passing zero to 'de
 
 vim +/dev_err_probe +241 drivers/soc/apple/dockchannel.c
 
-9ac13ff0fc7501 Hector Martin 2022-07-08  212  
 9ac13ff0fc7501 Hector Martin 2022-07-08  213  struct dockchannel *dockchannel_init(struct platform_device *pdev)
 9ac13ff0fc7501 Hector Martin 2022-07-08  214  {
 9ac13ff0fc7501 Hector Martin 2022-07-08  215  	struct device *dev = &pdev->dev;
@@ -56,133 +48,18 @@ vim +/dev_err_probe +241 drivers/soc/apple/dockchannel.c
 9ac13ff0fc7501 Hector Martin 2022-07-08  238  
 9ac13ff0fc7501 Hector Martin 2022-07-08  239  	dockchannel->tx_irq = platform_get_irq_byname(pdev, "tx");
 9ac13ff0fc7501 Hector Martin 2022-07-08  240  	if (dockchannel->tx_irq <= 0) {
+                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
+This should be < 0 since platform_get_irq_byname() can't return zero.
+
 9ac13ff0fc7501 Hector Martin 2022-07-08 @241  		return ERR_PTR(dev_err_probe(dev, dockchannel->tx_irq,
 9ac13ff0fc7501 Hector Martin 2022-07-08  242  				     "Failed to get TX IRQ"));
+
+Otherwise we'd have to set a correct error code.
+
 9ac13ff0fc7501 Hector Martin 2022-07-08  243  	}
 9ac13ff0fc7501 Hector Martin 2022-07-08  244  
 9ac13ff0fc7501 Hector Martin 2022-07-08  245  	dockchannel->rx_irq = platform_get_irq_byname(pdev, "rx");
 9ac13ff0fc7501 Hector Martin 2022-07-08  246  	if (dockchannel->rx_irq <= 0) {
-9ac13ff0fc7501 Hector Martin 2022-07-08  247  		return ERR_PTR(dev_err_probe(dev, dockchannel->rx_irq,
-9ac13ff0fc7501 Hector Martin 2022-07-08  248  				     "Failed to get RX IRQ"));
-9ac13ff0fc7501 Hector Martin 2022-07-08  249  	}
-9ac13ff0fc7501 Hector Martin 2022-07-08  250  
-9ac13ff0fc7501 Hector Martin 2022-07-08  251  	ret = devm_request_irq(dev, dockchannel->tx_irq, dockchannel_tx_irq, IRQF_NO_AUTOEN,
-9ac13ff0fc7501 Hector Martin 2022-07-08  252  			       "apple-dockchannel-tx", dockchannel);
-9ac13ff0fc7501 Hector Martin 2022-07-08  253  	if (ret)
-9ac13ff0fc7501 Hector Martin 2022-07-08  254  		return ERR_PTR(dev_err_probe(dev, ret, "Failed to request TX IRQ"));
-9ac13ff0fc7501 Hector Martin 2022-07-08  255  
-9ac13ff0fc7501 Hector Martin 2022-07-08  256  	ret = devm_request_threaded_irq(dev, dockchannel->rx_irq, dockchannel_rx_irq,
-9ac13ff0fc7501 Hector Martin 2022-07-08  257  					dockchannel_rx_irq_thread, IRQF_NO_AUTOEN,
-9ac13ff0fc7501 Hector Martin 2022-07-08  258  					"apple-dockchannel-rx", dockchannel);
-9ac13ff0fc7501 Hector Martin 2022-07-08  259  	if (ret)
-9ac13ff0fc7501 Hector Martin 2022-07-08  260  		return ERR_PTR(dev_err_probe(dev, ret, "Failed to request RX IRQ"));
-9ac13ff0fc7501 Hector Martin 2022-07-08  261  
-9ac13ff0fc7501 Hector Martin 2022-07-08  262  	return dockchannel;
-9ac13ff0fc7501 Hector Martin 2022-07-08  263  }
-9ac13ff0fc7501 Hector Martin 2022-07-08  264  EXPORT_SYMBOL(dockchannel_init);
-9ac13ff0fc7501 Hector Martin 2022-07-08  265  
-9ac13ff0fc7501 Hector Martin 2022-07-08  266  
-9ac13ff0fc7501 Hector Martin 2022-07-08  267  /* Dockchannel IRQchip */
-9ac13ff0fc7501 Hector Martin 2022-07-08  268  
-9ac13ff0fc7501 Hector Martin 2022-07-08  269  static void dockchannel_irq(struct irq_desc *desc)
-9ac13ff0fc7501 Hector Martin 2022-07-08  270  {
-9ac13ff0fc7501 Hector Martin 2022-07-08  271  	unsigned int irq = irq_desc_get_irq(desc);
-9ac13ff0fc7501 Hector Martin 2022-07-08  272  	struct irq_chip *chip = irq_desc_get_chip(desc);
-9ac13ff0fc7501 Hector Martin 2022-07-08  273  	struct dockchannel_common *dcc = irq_get_handler_data(irq);
-9ac13ff0fc7501 Hector Martin 2022-07-08  274  	unsigned long flags = readl_relaxed(dcc->irq_base + IRQ_FLAG);
-9ac13ff0fc7501 Hector Martin 2022-07-08  275  	int bit;
-9ac13ff0fc7501 Hector Martin 2022-07-08  276  
-9ac13ff0fc7501 Hector Martin 2022-07-08  277  	chained_irq_enter(chip, desc);
-9ac13ff0fc7501 Hector Martin 2022-07-08  278  
-9ac13ff0fc7501 Hector Martin 2022-07-08  279  	for_each_set_bit(bit, &flags, DOCKCHANNEL_MAX_IRQ)
-9ac13ff0fc7501 Hector Martin 2022-07-08  280  		generic_handle_domain_irq(dcc->domain, bit);
-9ac13ff0fc7501 Hector Martin 2022-07-08  281  
-9ac13ff0fc7501 Hector Martin 2022-07-08  282  	chained_irq_exit(chip, desc);
-9ac13ff0fc7501 Hector Martin 2022-07-08  283  }
-9ac13ff0fc7501 Hector Martin 2022-07-08  284  
-9ac13ff0fc7501 Hector Martin 2022-07-08  285  static void dockchannel_irq_ack(struct irq_data *data)
-9ac13ff0fc7501 Hector Martin 2022-07-08  286  {
-9ac13ff0fc7501 Hector Martin 2022-07-08  287  	struct dockchannel_common *dcc = irq_data_get_irq_chip_data(data);
-9ac13ff0fc7501 Hector Martin 2022-07-08  288  	unsigned int hwirq = data->hwirq;
-9ac13ff0fc7501 Hector Martin 2022-07-08  289  
-9ac13ff0fc7501 Hector Martin 2022-07-08  290  	writel_relaxed(BIT(hwirq), dcc->irq_base + IRQ_FLAG);
-9ac13ff0fc7501 Hector Martin 2022-07-08  291  }
-9ac13ff0fc7501 Hector Martin 2022-07-08  292  
-9ac13ff0fc7501 Hector Martin 2022-07-08  293  static void dockchannel_irq_mask(struct irq_data *data)
-9ac13ff0fc7501 Hector Martin 2022-07-08  294  {
-9ac13ff0fc7501 Hector Martin 2022-07-08  295  	struct dockchannel_common *dcc = irq_data_get_irq_chip_data(data);
-9ac13ff0fc7501 Hector Martin 2022-07-08  296  	unsigned int hwirq = data->hwirq;
-9ac13ff0fc7501 Hector Martin 2022-07-08  297  	u32 val = readl_relaxed(dcc->irq_base + IRQ_MASK);
-9ac13ff0fc7501 Hector Martin 2022-07-08  298  
-9ac13ff0fc7501 Hector Martin 2022-07-08  299  	writel_relaxed(val & ~BIT(hwirq), dcc->irq_base + IRQ_MASK);
-9ac13ff0fc7501 Hector Martin 2022-07-08  300  }
-9ac13ff0fc7501 Hector Martin 2022-07-08  301  
-9ac13ff0fc7501 Hector Martin 2022-07-08  302  static void dockchannel_irq_unmask(struct irq_data *data)
-9ac13ff0fc7501 Hector Martin 2022-07-08  303  {
-9ac13ff0fc7501 Hector Martin 2022-07-08  304  	struct dockchannel_common *dcc = irq_data_get_irq_chip_data(data);
-9ac13ff0fc7501 Hector Martin 2022-07-08  305  	unsigned int hwirq = data->hwirq;
-9ac13ff0fc7501 Hector Martin 2022-07-08  306  	u32 val = readl_relaxed(dcc->irq_base + IRQ_MASK);
-9ac13ff0fc7501 Hector Martin 2022-07-08  307  
-9ac13ff0fc7501 Hector Martin 2022-07-08  308  	writel_relaxed(val | BIT(hwirq), dcc->irq_base + IRQ_MASK);
-9ac13ff0fc7501 Hector Martin 2022-07-08  309  }
-9ac13ff0fc7501 Hector Martin 2022-07-08  310  
-9ac13ff0fc7501 Hector Martin 2022-07-08  311  static const struct irq_chip dockchannel_irqchip = {
-9ac13ff0fc7501 Hector Martin 2022-07-08  312  	.name = "dockchannel-irqc",
-9ac13ff0fc7501 Hector Martin 2022-07-08  313  	.irq_ack = dockchannel_irq_ack,
-9ac13ff0fc7501 Hector Martin 2022-07-08  314  	.irq_mask = dockchannel_irq_mask,
-9ac13ff0fc7501 Hector Martin 2022-07-08  315  	.irq_unmask = dockchannel_irq_unmask,
-9ac13ff0fc7501 Hector Martin 2022-07-08  316  };
-9ac13ff0fc7501 Hector Martin 2022-07-08  317  
-9ac13ff0fc7501 Hector Martin 2022-07-08  318  static int dockchannel_irq_domain_map(struct irq_domain *d, unsigned int virq,
-9ac13ff0fc7501 Hector Martin 2022-07-08  319  				      irq_hw_number_t hw)
-9ac13ff0fc7501 Hector Martin 2022-07-08  320  {
-9ac13ff0fc7501 Hector Martin 2022-07-08  321  	irq_set_chip_data(virq, d->host_data);
-9ac13ff0fc7501 Hector Martin 2022-07-08  322  	irq_set_chip_and_handler(virq, &dockchannel_irqchip, handle_level_irq);
-9ac13ff0fc7501 Hector Martin 2022-07-08  323  
-9ac13ff0fc7501 Hector Martin 2022-07-08  324  	return 0;
-9ac13ff0fc7501 Hector Martin 2022-07-08  325  }
-9ac13ff0fc7501 Hector Martin 2022-07-08  326  
-9ac13ff0fc7501 Hector Martin 2022-07-08  327  static const struct irq_domain_ops dockchannel_irq_domain_ops = {
-9ac13ff0fc7501 Hector Martin 2022-07-08  328  	.xlate	= irq_domain_xlate_twocell,
-9ac13ff0fc7501 Hector Martin 2022-07-08  329  	.map	= dockchannel_irq_domain_map,
-9ac13ff0fc7501 Hector Martin 2022-07-08  330  };
-9ac13ff0fc7501 Hector Martin 2022-07-08  331  
-9ac13ff0fc7501 Hector Martin 2022-07-08  332  static int dockchannel_probe(struct platform_device *pdev)
-9ac13ff0fc7501 Hector Martin 2022-07-08  333  {
-9ac13ff0fc7501 Hector Martin 2022-07-08  334  	struct device *dev = &pdev->dev;
-9ac13ff0fc7501 Hector Martin 2022-07-08  335  	struct dockchannel_common *dcc;
-9ac13ff0fc7501 Hector Martin 2022-07-08  336  
-9ac13ff0fc7501 Hector Martin 2022-07-08  337  	dcc = devm_kzalloc(dev, sizeof(*dcc), GFP_KERNEL);
-9ac13ff0fc7501 Hector Martin 2022-07-08  338  	if (!dcc)
-9ac13ff0fc7501 Hector Martin 2022-07-08  339  		return -ENOMEM;
-9ac13ff0fc7501 Hector Martin 2022-07-08  340  
-9ac13ff0fc7501 Hector Martin 2022-07-08  341  	dcc->dev = dev;
-9ac13ff0fc7501 Hector Martin 2022-07-08  342  	platform_set_drvdata(pdev, dcc);
-9ac13ff0fc7501 Hector Martin 2022-07-08  343  
-9ac13ff0fc7501 Hector Martin 2022-07-08  344  	dcc->irq_base = devm_platform_ioremap_resource_byname(pdev, "irq");
-9ac13ff0fc7501 Hector Martin 2022-07-08  345  	if (IS_ERR(dcc->irq_base))
-9ac13ff0fc7501 Hector Martin 2022-07-08  346  		return PTR_ERR(dcc->irq_base);
-9ac13ff0fc7501 Hector Martin 2022-07-08  347  
-9ac13ff0fc7501 Hector Martin 2022-07-08  348  	writel_relaxed(0, dcc->irq_base + IRQ_MASK);
-9ac13ff0fc7501 Hector Martin 2022-07-08  349  	writel_relaxed(~0, dcc->irq_base + IRQ_FLAG);
-9ac13ff0fc7501 Hector Martin 2022-07-08  350  
-9ac13ff0fc7501 Hector Martin 2022-07-08  351  	dcc->domain = irq_domain_add_linear(dev->of_node, DOCKCHANNEL_MAX_IRQ,
-9ac13ff0fc7501 Hector Martin 2022-07-08  352  					    &dockchannel_irq_domain_ops, dcc);
-9ac13ff0fc7501 Hector Martin 2022-07-08  353  	if (!dcc->domain)
-9ac13ff0fc7501 Hector Martin 2022-07-08  354  		return -ENOMEM;
-9ac13ff0fc7501 Hector Martin 2022-07-08  355  
-9ac13ff0fc7501 Hector Martin 2022-07-08  356  	dcc->irq = platform_get_irq(pdev, 0);
-9ac13ff0fc7501 Hector Martin 2022-07-08  357  	if (dcc->irq <= 0)
-9ac13ff0fc7501 Hector Martin 2022-07-08 @358  		return dev_err_probe(dev, dcc->irq, "Failed to get IRQ");
-9ac13ff0fc7501 Hector Martin 2022-07-08  359  
-9ac13ff0fc7501 Hector Martin 2022-07-08  360  	irq_set_handler_data(dcc->irq, dcc);
-9ac13ff0fc7501 Hector Martin 2022-07-08  361  	irq_set_chained_handler(dcc->irq, dockchannel_irq);
-9ac13ff0fc7501 Hector Martin 2022-07-08  362  
-9ac13ff0fc7501 Hector Martin 2022-07-08  363  	devm_of_platform_populate(dev);
-9ac13ff0fc7501 Hector Martin 2022-07-08  364  
-9ac13ff0fc7501 Hector Martin 2022-07-08  365  	return 0;
-9ac13ff0fc7501 Hector Martin 2022-07-08  366  }
-9ac13ff0fc7501 Hector Martin 2022-07-08  367  
 
 -- 
 0-DAY CI Kernel Test Service
diff --git a/a/content_digest b/N1/content_digest
index 1eb3b14..0a8ed78 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,21 +1,16 @@
- "From\0kernel test robot <lkp@intel.com>\0"
+ "From\0Dan Carpenter <error27@gmail.com>\0"
  "Subject\0[asahilinux:bits/090-spi-hid 17/19] drivers/soc/apple/dockchannel.c:241 dockchannel_init() warn: passing zero to 'dev_err_probe'\0"
- "Date\0Sun, 10 May 2026 13:52:13 +0800\0"
- "To\0oe-kbuild@lists.linux.dev\0"
+ "Date\0Sun, 10 May 2026 12:45:58 +0300\0"
+ "To\0oe-kbuild@lists.linux.dev"
+ " Hector Martin <marcan@marcan.st>\0"
  "Cc\0lkp@intel.com"
- " Dan Carpenter <error27@gmail.com>\0"
+  oe-kbuild-all@lists.linux.dev
+ " Janne Grunau <j@jannau.net>\0"
  "\00:1\0"
  "b\0"
- "BCC: lkp@intel.com\n"
- "CC: oe-kbuild-all@lists.linux.dev\n"
- "TO: Hector Martin <marcan@marcan.st>\n"
- "CC: Janne Grunau <j@jannau.net>\n"
- "\n"
  "tree:   https://github.com/AsahiLinux/linux bits/090-spi-hid\n"
  "head:   7b3c6e8461f3035d025ece758919facbc1c6d854\n"
  "commit: 9ac13ff0fc75010681a6ea5fd694db592dea9069 [17/19] soc: apple: Add DockChannel driver\n"
- ":::::: branch date: 20 hours ago\n"
- ":::::: commit date: 20 hours ago\n"
  "config: um-randconfig-r072-20260509 (https://download.01.org/0day-ci/archive/20260510/202605101332.SfUuii8x-lkp@intel.com/config)\n"
  "compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 5bac06718f502014fade905512f1d26d578a18f3)\n"
  "smatch: v0.5.0-9065-ge9cc34fd\n"
@@ -35,7 +30,6 @@
  "\n"
  "vim +/dev_err_probe +241 drivers/soc/apple/dockchannel.c\n"
  "\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  212  \n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  213  struct dockchannel *dockchannel_init(struct platform_device *pdev)\n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  214  {\n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  215  \tstruct device *dev = &pdev->dev;\n"
@@ -64,136 +58,21 @@
  "9ac13ff0fc7501 Hector Martin 2022-07-08  238  \n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  239  \tdockchannel->tx_irq = platform_get_irq_byname(pdev, \"tx\");\n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  240  \tif (dockchannel->tx_irq <= 0) {\n"
+ "                                                    ^^^^^^^^^^^^^^^^^^^^^^^^\n"
+ "This should be < 0 since platform_get_irq_byname() can't return zero.\n"
+ "\n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08 @241  \t\treturn ERR_PTR(dev_err_probe(dev, dockchannel->tx_irq,\n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  242  \t\t\t\t     \"Failed to get TX IRQ\"));\n"
+ "\n"
+ "Otherwise we'd have to set a correct error code.\n"
+ "\n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  243  \t}\n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  244  \n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  245  \tdockchannel->rx_irq = platform_get_irq_byname(pdev, \"rx\");\n"
  "9ac13ff0fc7501 Hector Martin 2022-07-08  246  \tif (dockchannel->rx_irq <= 0) {\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  247  \t\treturn ERR_PTR(dev_err_probe(dev, dockchannel->rx_irq,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  248  \t\t\t\t     \"Failed to get RX IRQ\"));\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  249  \t}\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  250  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  251  \tret = devm_request_irq(dev, dockchannel->tx_irq, dockchannel_tx_irq, IRQF_NO_AUTOEN,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  252  \t\t\t       \"apple-dockchannel-tx\", dockchannel);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  253  \tif (ret)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  254  \t\treturn ERR_PTR(dev_err_probe(dev, ret, \"Failed to request TX IRQ\"));\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  255  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  256  \tret = devm_request_threaded_irq(dev, dockchannel->rx_irq, dockchannel_rx_irq,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  257  \t\t\t\t\tdockchannel_rx_irq_thread, IRQF_NO_AUTOEN,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  258  \t\t\t\t\t\"apple-dockchannel-rx\", dockchannel);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  259  \tif (ret)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  260  \t\treturn ERR_PTR(dev_err_probe(dev, ret, \"Failed to request RX IRQ\"));\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  261  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  262  \treturn dockchannel;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  263  }\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  264  EXPORT_SYMBOL(dockchannel_init);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  265  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  266  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  267  /* Dockchannel IRQchip */\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  268  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  269  static void dockchannel_irq(struct irq_desc *desc)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  270  {\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  271  \tunsigned int irq = irq_desc_get_irq(desc);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  272  \tstruct irq_chip *chip = irq_desc_get_chip(desc);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  273  \tstruct dockchannel_common *dcc = irq_get_handler_data(irq);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  274  \tunsigned long flags = readl_relaxed(dcc->irq_base + IRQ_FLAG);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  275  \tint bit;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  276  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  277  \tchained_irq_enter(chip, desc);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  278  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  279  \tfor_each_set_bit(bit, &flags, DOCKCHANNEL_MAX_IRQ)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  280  \t\tgeneric_handle_domain_irq(dcc->domain, bit);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  281  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  282  \tchained_irq_exit(chip, desc);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  283  }\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  284  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  285  static void dockchannel_irq_ack(struct irq_data *data)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  286  {\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  287  \tstruct dockchannel_common *dcc = irq_data_get_irq_chip_data(data);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  288  \tunsigned int hwirq = data->hwirq;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  289  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  290  \twritel_relaxed(BIT(hwirq), dcc->irq_base + IRQ_FLAG);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  291  }\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  292  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  293  static void dockchannel_irq_mask(struct irq_data *data)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  294  {\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  295  \tstruct dockchannel_common *dcc = irq_data_get_irq_chip_data(data);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  296  \tunsigned int hwirq = data->hwirq;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  297  \tu32 val = readl_relaxed(dcc->irq_base + IRQ_MASK);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  298  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  299  \twritel_relaxed(val & ~BIT(hwirq), dcc->irq_base + IRQ_MASK);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  300  }\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  301  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  302  static void dockchannel_irq_unmask(struct irq_data *data)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  303  {\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  304  \tstruct dockchannel_common *dcc = irq_data_get_irq_chip_data(data);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  305  \tunsigned int hwirq = data->hwirq;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  306  \tu32 val = readl_relaxed(dcc->irq_base + IRQ_MASK);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  307  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  308  \twritel_relaxed(val | BIT(hwirq), dcc->irq_base + IRQ_MASK);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  309  }\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  310  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  311  static const struct irq_chip dockchannel_irqchip = {\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  312  \t.name = \"dockchannel-irqc\",\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  313  \t.irq_ack = dockchannel_irq_ack,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  314  \t.irq_mask = dockchannel_irq_mask,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  315  \t.irq_unmask = dockchannel_irq_unmask,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  316  };\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  317  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  318  static int dockchannel_irq_domain_map(struct irq_domain *d, unsigned int virq,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  319  \t\t\t\t      irq_hw_number_t hw)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  320  {\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  321  \tirq_set_chip_data(virq, d->host_data);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  322  \tirq_set_chip_and_handler(virq, &dockchannel_irqchip, handle_level_irq);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  323  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  324  \treturn 0;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  325  }\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  326  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  327  static const struct irq_domain_ops dockchannel_irq_domain_ops = {\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  328  \t.xlate\t= irq_domain_xlate_twocell,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  329  \t.map\t= dockchannel_irq_domain_map,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  330  };\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  331  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  332  static int dockchannel_probe(struct platform_device *pdev)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  333  {\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  334  \tstruct device *dev = &pdev->dev;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  335  \tstruct dockchannel_common *dcc;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  336  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  337  \tdcc = devm_kzalloc(dev, sizeof(*dcc), GFP_KERNEL);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  338  \tif (!dcc)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  339  \t\treturn -ENOMEM;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  340  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  341  \tdcc->dev = dev;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  342  \tplatform_set_drvdata(pdev, dcc);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  343  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  344  \tdcc->irq_base = devm_platform_ioremap_resource_byname(pdev, \"irq\");\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  345  \tif (IS_ERR(dcc->irq_base))\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  346  \t\treturn PTR_ERR(dcc->irq_base);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  347  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  348  \twritel_relaxed(0, dcc->irq_base + IRQ_MASK);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  349  \twritel_relaxed(~0, dcc->irq_base + IRQ_FLAG);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  350  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  351  \tdcc->domain = irq_domain_add_linear(dev->of_node, DOCKCHANNEL_MAX_IRQ,\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  352  \t\t\t\t\t    &dockchannel_irq_domain_ops, dcc);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  353  \tif (!dcc->domain)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  354  \t\treturn -ENOMEM;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  355  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  356  \tdcc->irq = platform_get_irq(pdev, 0);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  357  \tif (dcc->irq <= 0)\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08 @358  \t\treturn dev_err_probe(dev, dcc->irq, \"Failed to get IRQ\");\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  359  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  360  \tirq_set_handler_data(dcc->irq, dcc);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  361  \tirq_set_chained_handler(dcc->irq, dockchannel_irq);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  362  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  363  \tdevm_of_platform_populate(dev);\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  364  \n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  365  \treturn 0;\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  366  }\n"
- "9ac13ff0fc7501 Hector Martin 2022-07-08  367  \n"
  "\n"
  "-- \n"
  "0-DAY CI Kernel Test Service\n"
  https://github.com/intel/lkp-tests/wiki
 
-9b8407adaeb81cbb66e8074f872f163b78ec82cf349061d4e4e36b7e997a0303
+ad6da9457ffaea6f152b1584f8f5122367f4b39c2de72acc7fdf1553e1e31ab7

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.