Hi Max,
kernel test robot noticed the following build errors:
[auto build test ERROR on next-20240209]
[cannot apply to drm-misc/drm-misc-next media-tree/master mkp-scsi/for-next linus/master v6.8-rc3 v6.8-rc2 v6.8-rc1 v6.8-rc3]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Max-Kellermann/include-add-missing-includes/20240211-204508
base: next-20240209
patch link: https://lore.kernel.org/r/20240211123000.3359365-3-max.kellermann%40ionos.com
patch subject: [PATCH v3 02/35] include: remove unnecessary #include directives
config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20240212/202402120237.PykM6rKl-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240212/202402120237.PykM6rKl-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402120237.PykM6rKl-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
drivers/iommu/msm_iommu.c: In function 'insert_iommu_master':
>> drivers/iommu/msm_iommu.c:608:46: error: invalid use of undefined type 'struct of_phandle_args'
608 | if (master->mids[sid] == spec->args[0]) {
| ^~
drivers/iommu/msm_iommu.c:614:48: error: invalid use of undefined type 'struct of_phandle_args'
614 | master->mids[master->num_mids++] = spec->args[0];
| ^~
drivers/iommu/msm_iommu.c: In function 'qcom_iommu_of_xlate':
drivers/iommu/msm_iommu.c:627:47: error: invalid use of undefined type 'struct of_phandle_args'
627 | if (iter->dev->of_node == spec->np) {
| ^~
drivers/iommu/msm_iommu.c: In function 'msm_iommu_probe':
>> drivers/iommu/msm_iommu.c:755:15: error: implicit declaration of function 'of_property_read_u32' [-Werror=implicit-function-declaration]
755 | ret = of_property_read_u32(iommu->dev->of_node, "qcom,ncb", &val);
| ^~~~~~~~~~~~~~~~~~~~
drivers/iommu/msm_iommu.c: At top level:
>> drivers/iommu/msm_iommu.c:812:34: error: array type has incomplete element type 'struct of_device_id'
812 | static const struct of_device_id msm_iommu_dt_match[] = {
| ^~~~~~~~~~~~~~~~~~
>> drivers/iommu/msm_iommu.c:812:34: warning: 'msm_iommu_dt_match' defined but not used [-Wunused-variable]
cc1: some warnings being treated as errors
vim +608 drivers/iommu/msm_iommu.c
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 588
bb5bdc5ab7f133 drivers/iommu/msm_iommu.c Xiaoke Wang 2022-04-28 589 static int insert_iommu_master(struct device *dev,
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 590 struct msm_iommu_dev **iommu,
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 591 struct of_phandle_args *spec)
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 592 {
4bbe0c7ccc431d drivers/iommu/msm_iommu.c Joerg Roedel 2020-06-25 593 struct msm_iommu_ctx_dev *master = dev_iommu_priv_get(dev);
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 594 int sid;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 595
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 596 if (list_empty(&(*iommu)->ctx_list)) {
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 597 master = kzalloc(sizeof(*master), GFP_ATOMIC);
bb5bdc5ab7f133 drivers/iommu/msm_iommu.c Xiaoke Wang 2022-04-28 598 if (!master) {
bb5bdc5ab7f133 drivers/iommu/msm_iommu.c Xiaoke Wang 2022-04-28 599 dev_err(dev, "Failed to allocate iommu_master\n");
bb5bdc5ab7f133 drivers/iommu/msm_iommu.c Xiaoke Wang 2022-04-28 600 return -ENOMEM;
bb5bdc5ab7f133 drivers/iommu/msm_iommu.c Xiaoke Wang 2022-04-28 601 }
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 602 master->of_node = dev->of_node;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 603 list_add(&master->list, &(*iommu)->ctx_list);
4bbe0c7ccc431d drivers/iommu/msm_iommu.c Joerg Roedel 2020-06-25 604 dev_iommu_priv_set(dev, master);
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 605 }
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 606
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 607 for (sid = 0; sid < master->num_mids; sid++)
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 @608 if (master->mids[sid] == spec->args[0]) {
f066b8f7d961b0 drivers/iommu/msm_iommu.c Justin Stitt 2022-07-21 609 dev_warn(dev, "Stream ID 0x%x repeated; ignoring\n",
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 610 sid);
bb5bdc5ab7f133 drivers/iommu/msm_iommu.c Xiaoke Wang 2022-04-28 611 return 0;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 612 }
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 613
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 614 master->mids[master->num_mids++] = spec->args[0];
bb5bdc5ab7f133 drivers/iommu/msm_iommu.c Xiaoke Wang 2022-04-28 615 return 0;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 616 }
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 617
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 618 static int qcom_iommu_of_xlate(struct device *dev,
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 619 struct of_phandle_args *spec)
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 620 {
8b9ad480bd1dd2 drivers/iommu/msm_iommu.c Xiaomeng Tong 2022-05-01 621 struct msm_iommu_dev *iommu = NULL, *iter;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 622 unsigned long flags;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 623 int ret = 0;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 624
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 625 spin_lock_irqsave(&msm_iommu_lock, flags);
8b9ad480bd1dd2 drivers/iommu/msm_iommu.c Xiaomeng Tong 2022-05-01 626 list_for_each_entry(iter, &qcom_iommu_devices, dev_node) {
8b9ad480bd1dd2 drivers/iommu/msm_iommu.c Xiaomeng Tong 2022-05-01 627 if (iter->dev->of_node == spec->np) {
8b9ad480bd1dd2 drivers/iommu/msm_iommu.c Xiaomeng Tong 2022-05-01 628 iommu = iter;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 629 break;
8b9ad480bd1dd2 drivers/iommu/msm_iommu.c Xiaomeng Tong 2022-05-01 630 }
8b9ad480bd1dd2 drivers/iommu/msm_iommu.c Xiaomeng Tong 2022-05-01 631 }
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 632
8b9ad480bd1dd2 drivers/iommu/msm_iommu.c Xiaomeng Tong 2022-05-01 633 if (!iommu) {
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 634 ret = -ENODEV;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 635 goto fail;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 636 }
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 637
bb5bdc5ab7f133 drivers/iommu/msm_iommu.c Xiaoke Wang 2022-04-28 638 ret = insert_iommu_master(dev, &iommu, spec);
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 639 fail:
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 640 spin_unlock_irqrestore(&msm_iommu_lock, flags);
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 641
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 642 return ret;
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 643 }
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 644
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 645 irqreturn_t msm_iommu_fault_handler(int irq, void *dev_id)
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 646 {
109bd48ea2e1fb drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 647 struct msm_iommu_dev *iommu = dev_id;
33069739d1c2f0 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-11-12 648 unsigned int fsr;
a43d8c101eb71b arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2011-02-24 649 int i, ret;
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 650
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 651 spin_lock(&msm_iommu_lock);
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 652
109bd48ea2e1fb drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 653 if (!iommu) {
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 654 pr_err("Invalid device ID in context interrupt handler\n");
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 655 goto fail;
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 656 }
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 657
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 658 pr_err("Unexpected IOMMU page fault!\n");
109bd48ea2e1fb drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 659 pr_err("base = %08x\n", (unsigned int)iommu->base);
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 660
109bd48ea2e1fb drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 661 ret = __enable_clocks(iommu);
41f3f5138a5ea7 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2011-02-24 662 if (ret)
41f3f5138a5ea7 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2011-02-24 663 goto fail;
41f3f5138a5ea7 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2011-02-24 664
109bd48ea2e1fb drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 665 for (i = 0; i < iommu->ncb; i++) {
109bd48ea2e1fb drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 666 fsr = GET_FSR(iommu->base, i);
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 667 if (fsr) {
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 668 pr_err("Fault occurred in context %d.\n", i);
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 669 pr_err("Interesting registers:\n");
109bd48ea2e1fb drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 670 print_ctx_regs(iommu->base, i);
109bd48ea2e1fb drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 671 SET_FSR(iommu->base, i, 0x4000000F);
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 672 }
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 673 }
109bd48ea2e1fb drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 674 __disable_clocks(iommu);
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 675 fail:
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 676 spin_unlock(&msm_iommu_lock);
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 677 return 0;
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 678 }
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 679
f78ebca8ff3d61 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 680 static struct iommu_ops msm_iommu_ops = {
78fc30b4bb3540 drivers/iommu/msm_iommu.c Jason Gunthorpe 2023-09-13 681 .identity_domain = &msm_iommu_identity_domain,
4efd98d41ea718 drivers/iommu/msm_iommu.c Jason Gunthorpe 2023-09-13 682 .domain_alloc_paging = msm_iommu_domain_alloc_paging,
9a630a4b41a263 drivers/iommu/msm_iommu.c Lu Baolu 2022-02-16 683 .probe_device = msm_iommu_probe_device,
9a630a4b41a263 drivers/iommu/msm_iommu.c Lu Baolu 2022-02-16 684 .device_group = generic_device_group,
9a630a4b41a263 drivers/iommu/msm_iommu.c Lu Baolu 2022-02-16 685 .pgsize_bitmap = MSM_IOMMU_PGSIZES,
9a630a4b41a263 drivers/iommu/msm_iommu.c Lu Baolu 2022-02-16 686 .of_xlate = qcom_iommu_of_xlate,
9a630a4b41a263 drivers/iommu/msm_iommu.c Lu Baolu 2022-02-16 687 .default_domain_ops = &(const struct iommu_domain_ops) {
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 688 .attach_dev = msm_iommu_attach_dev,
8b35cdcf9bf820 drivers/iommu/msm_iommu.c Robin Murphy 2022-11-15 689 .map_pages = msm_iommu_map,
8b35cdcf9bf820 drivers/iommu/msm_iommu.c Robin Murphy 2022-11-15 690 .unmap_pages = msm_iommu_unmap,
e953f7f2fa78d1 drivers/iommu/msm_iommu.c Will Deacon 2019-07-02 691 /*
e953f7f2fa78d1 drivers/iommu/msm_iommu.c Will Deacon 2019-07-02 692 * Nothing is needed here, the barrier to guarantee
e953f7f2fa78d1 drivers/iommu/msm_iommu.c Will Deacon 2019-07-02 693 * completion of the tlb sync operation is implicitly
e953f7f2fa78d1 drivers/iommu/msm_iommu.c Will Deacon 2019-07-02 694 * taken care when the iommu client does a writel before
e953f7f2fa78d1 drivers/iommu/msm_iommu.c Will Deacon 2019-07-02 695 * kick starting the other master.
e953f7f2fa78d1 drivers/iommu/msm_iommu.c Will Deacon 2019-07-02 696 */
e953f7f2fa78d1 drivers/iommu/msm_iommu.c Will Deacon 2019-07-02 697 .iotlb_sync = NULL,
c867c78acae96f drivers/iommu/msm_iommu.c Robin Murphy 2021-01-27 698 .iotlb_sync_map = msm_iommu_sync_map,
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 699 .iova_to_phys = msm_iommu_iova_to_phys,
9a630a4b41a263 drivers/iommu/msm_iommu.c Lu Baolu 2022-02-16 700 .free = msm_iommu_domain_free,
9a630a4b41a263 drivers/iommu/msm_iommu.c Lu Baolu 2022-02-16 701 }
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 702 };
0720d1f052dc15 arch/arm/mach-msm/iommu.c Stepan Moskovchenko 2010-08-24 703
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 704 static int msm_iommu_probe(struct platform_device *pdev)
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 705 {
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 706 struct resource *r;
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 707 resource_size_t ioaddr;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 708 struct msm_iommu_dev *iommu;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 709 int ret, par, val;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 710
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 711 iommu = devm_kzalloc(&pdev->dev, sizeof(*iommu), GFP_KERNEL);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 712 if (!iommu)
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 713 return -ENODEV;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 714
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 715 iommu->dev = &pdev->dev;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 716 INIT_LIST_HEAD(&iommu->ctx_list);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 717
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 718 iommu->pclk = devm_clk_get(iommu->dev, "smmu_pclk");
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 719 if (IS_ERR(iommu->pclk))
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 720 return dev_err_probe(iommu->dev, PTR_ERR(iommu->pclk),
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 721 "could not get smmu_pclk\n");
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 722
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 723 ret = clk_prepare(iommu->pclk);
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 724 if (ret)
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 725 return dev_err_probe(iommu->dev, ret,
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 726 "could not prepare smmu_pclk\n");
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 727
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 728 iommu->clk = devm_clk_get(iommu->dev, "iommu_clk");
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 729 if (IS_ERR(iommu->clk)) {
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 730 clk_unprepare(iommu->pclk);
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 731 return dev_err_probe(iommu->dev, PTR_ERR(iommu->clk),
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 732 "could not get iommu_clk\n");
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 733 }
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 734
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 735 ret = clk_prepare(iommu->clk);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 736 if (ret) {
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 737 clk_unprepare(iommu->pclk);
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 738 return dev_err_probe(iommu->dev, ret, "could not prepare iommu_clk\n");
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 739 }
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 740
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 741 r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 742 iommu->base = devm_ioremap_resource(iommu->dev, r);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 743 if (IS_ERR(iommu->base)) {
a063158b20afea drivers/iommu/msm_iommu.c David Heidelberg 2022-02-06 744 ret = dev_err_probe(iommu->dev, PTR_ERR(iommu->base), "could not get iommu base\n");
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 745 goto fail;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 746 }
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 747 ioaddr = r->start;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 748
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 749 iommu->irq = platform_get_irq(pdev, 0);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 750 if (iommu->irq < 0) {
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 751 ret = -ENODEV;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 752 goto fail;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 753 }
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 754
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 @755 ret = of_property_read_u32(iommu->dev->of_node, "qcom,ncb", &val);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 756 if (ret) {
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 757 dev_err(iommu->dev, "could not get ncb\n");
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 758 goto fail;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 759 }
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 760 iommu->ncb = val;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 761
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 762 msm_iommu_reset(iommu->base, iommu->ncb);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 763 SET_M(iommu->base, 0, 1);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 764 SET_PAR(iommu->base, 0, 0);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 765 SET_V2PCFG(iommu->base, 0, 1);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 766 SET_V2PPR(iommu->base, 0, 0);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 767 par = GET_PAR(iommu->base, 0);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 768 SET_V2PCFG(iommu->base, 0, 0);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 769 SET_M(iommu->base, 0, 0);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 770
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 771 if (!par) {
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 772 pr_err("Invalid PAR value detected\n");
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 773 ret = -ENODEV;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 774 goto fail;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 775 }
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 776
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 777 ret = devm_request_threaded_irq(iommu->dev, iommu->irq, NULL,
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 778 msm_iommu_fault_handler,
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 779 IRQF_ONESHOT | IRQF_SHARED,
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 780 "msm_iommu_secure_irpt_handler",
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 781 iommu);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 782 if (ret) {
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 783 pr_err("Request IRQ %d failed with ret=%d\n", iommu->irq, ret);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 784 goto fail;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 785 }
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 786
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 787 list_add(&iommu->dev_node, &qcom_iommu_devices);
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 788
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 789 ret = iommu_device_sysfs_add(&iommu->iommu, iommu->dev, NULL,
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 790 "msm-smmu.%pa", &ioaddr);
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 791 if (ret) {
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 792 pr_err("Could not add msm-smmu at %pa to sysfs\n", &ioaddr);
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 793 goto fail;
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 794 }
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 795
2d471b20c55e13 drivers/iommu/msm_iommu.c Robin Murphy 2021-04-01 796 ret = iommu_device_register(&iommu->iommu, &msm_iommu_ops, &pdev->dev);
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 797 if (ret) {
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 798 pr_err("Could not register msm-smmu at %pa\n", &ioaddr);
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 799 goto fail;
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 800 }
42df43b36163ed drivers/iommu/msm_iommu.c Joerg Roedel 2017-02-02 801
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 802 pr_info("device mapped at %p, irq %d with %d ctx banks\n",
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 803 iommu->base, iommu->irq, iommu->ncb);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 804
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 805 return ret;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 806 fail:
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 807 clk_unprepare(iommu->clk);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 808 clk_unprepare(iommu->pclk);
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 809 return ret;
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 810 }
f7f125ef0b0210 drivers/iommu/msm_iommu.c Sricharan Ramabadhran 2016-06-13 811
@@ -52,7 +52,6 @@
#include <linux/fips.h>
#include <linux/mutex.h>
#include <linux/list.h>
-#include <linux/workqueue.h>
/*
* Concatenation Helper and string operation helper
@@ -9,7 +9,6 @@
#define _CRYPTO_IF_ALG_H
#include <linux/compiler.h>
-#include <linux/completion.h>
#include <linux/if_alg.h>
#include <linux/scatterlist.h>
#include <linux/types.h>
@@ -30,7 +30,6 @@
#include <linux/idr.h>
#include <linux/kref.h>
-#include <linux/wait.h>
struct drm_file;
@@ -37,6 +37,8 @@
#include <drm/drm_gpuvm.h>
+struct seq_file;
+
/**
* DRM_DEBUGFS_GPUVA_INFO - &drm_info_list entry to dump a GPU VA space
* @show: the &drm_info_list's show callback
@@ -31,13 +31,13 @@
#define _DRM_FILE_H_
#include <linux/types.h>
-#include <linux/completion.h>
#include <linux/idr.h>
#include <uapi/drm/drm.h>
#include <drm/drm_prime.h>
+struct completion;
struct dma_fence;
struct drm_file;
struct drm_device;
@@ -5,7 +5,6 @@
#include <linux/fs.h>
#include <linux/mm.h>
-#include <linux/mutex.h>
#include <drm/drm_file.h>
#include <drm/drm_gem.h>
@@ -42,7 +42,6 @@
#include <linux/limits.h>
#include <linux/mm_types.h>
#include <linux/list.h>
-#include <linux/spinlock.h>
#ifdef CONFIG_DRM_DEBUG_MM
#include <linux/stackdepot.h>
#endif
@@ -35,6 +35,8 @@
#include <drm/drm.h>
+struct seq_file;
+
/* Do *not* use outside of drm_print.[ch]! */
extern unsigned long __drm_debug;
@@ -35,7 +35,6 @@
#include <linux/interrupt.h>
#include <linux/kgdb.h>
#include <linux/preempt.h>
-#include <linux/smp.h>
/*
* Use EXPORT_SYMBOL_FOR_TESTS_ONLY() for functions that shall
@@ -26,7 +26,6 @@
#include <drm/drm_mm.h>
#include <linux/mm.h>
#include <linux/rbtree.h>
-#include <linux/spinlock.h>
#include <linux/types.h>
/* We make up offsets for buffer objects so we can recognize them at
@@ -26,7 +26,6 @@
#define _TTM_DEVICE_H_
#include <linux/types.h>
-#include <linux/workqueue.h>
#include <drm/ttm/ttm_resource.h>
#include <drm/ttm/ttm_pool.h>
@@ -27,7 +27,6 @@
#include <linux/types.h>
#include <linux/list.h>
-#include <linux/mutex.h>
#include <linux/iosys-map.h>
#include <linux/dma-fence.h>
@@ -13,6 +13,7 @@
#include <linux/seq_file.h>
#include <keys/asymmetric-type.h>
+struct seq_file;
struct kernel_pkey_query;
struct kernel_pkey_params;
struct public_key_signature;
@@ -19,7 +19,6 @@
#include <linux/init.h>
#include <linux/jump_label.h>
#include <linux/kconfig.h>
-#include <linux/kref.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/slab.h>
@@ -7,8 +7,11 @@
#ifndef _ACPI_AMD_WBRF_H
#define _ACPI_AMD_WBRF_H
-#include <linux/device.h>
-#include <linux/notifier.h>
+#include <linux/errno.h>
+#include <linux/types.h>
+
+struct device;
+struct notifier_block;
/* The maximum number of frequency band ranges */
#define MAX_NUM_OF_WBRF_RANGES 11
@@ -12,10 +12,11 @@
#define __LINUX_ACPI_DMA_H
#include <linux/list.h>
-#include <linux/device.h>
#include <linux/err.h>
#include <linux/dmaengine.h>
+struct device;
+
/**
* struct acpi_dma_spec - slave device DMA resources
* @chan_id: channel unique id
@@ -5,7 +5,6 @@
#ifndef _ASYNC_TX_H_
#define _ASYNC_TX_H_
#include <linux/dmaengine.h>
-#include <linux/spinlock.h>
#include <linux/interrupt.h>
/* on architectures without dma-mapping capabilities we need to ensure
@@ -3,8 +3,6 @@
#ifndef LINUX_ATMDEV_H
#define LINUX_ATMDEV_H
-
-#include <linux/wait.h> /* wait_queue_head_t */
#include <linux/time.h> /* struct timeval */
#include <linux/net.h>
#include <linux/bug.h>
@@ -13,7 +13,6 @@
#include <linux/wait.h>
#include <linux/workqueue.h>
#include <linux/kref.h>
-#include <linux/refcount.h>
#ifdef CONFIG_CGROUP_WRITEBACK
#include <linux/rwsem.h>
@@ -10,7 +10,6 @@
#include <linux/blk_types.h>
#include <linux/device.h>
#include <linux/list.h>
-#include <linux/llist.h>
#include <linux/minmax.h>
#include <linux/timer.h>
#include <linux/workqueue.h>
@@ -22,11 +21,9 @@
#include <linux/percpu-refcount.h>
#include <linux/blkzoned.h>
#include <linux/sched.h>
-#include <linux/sbitmap.h>
#include <linux/uio.h> // for iov_iter_is_aligned()
#include <linux/uuid.h>
#include <linux/xarray.h>
-#include <linux/file.h>
struct module;
struct request_queue;
@@ -42,6 +39,7 @@ struct rq_qos;
struct blk_queue_stats;
struct blk_stat_callback;
struct blk_crypto_profile;
+struct file;
extern const struct device_type disk_type;
extern const struct device_type part_type;
@@ -11,8 +11,6 @@
#if defined(CONFIG_BLK_DEV_IO_TRACE)
-#include <linux/sysfs.h>
-
struct blk_trace {
int trace_state;
struct rchan *rchan;
@@ -2,7 +2,6 @@
#ifndef _BPF_NETNS_H
#define _BPF_NETNS_H
-#include <linux/mutex.h>
#include <net/netns/bpf.h>
#include <uapi/linux/bpf.h>
@@ -14,7 +14,6 @@
#include <linux/rbtree_latch.h>
#include <linux/numa.h>
#include <linux/mm_types.h>
-#include <linux/wait.h>
#include <linux/refcount.h>
#include <linux/mutex.h>
#include <linux/module.h>
@@ -4,7 +4,6 @@
#include <linux/bitops.h>
#include <linux/cpumask.h>
-#include <linux/smp.h>
struct device_node;
struct attribute;
@@ -5,8 +5,8 @@
#include <linux/kobject.h>
#include <linux/kdev_t.h>
#include <linux/list.h>
-#include <linux/device.h>
+struct device;
struct file_operations;
struct inode;
struct module;
@@ -6,7 +6,6 @@
#include <asm/unaligned.h>
#include <linux/backing-dev.h>
-#include <linux/completion.h>
#include <linux/exportfs.h>
#include <linux/bug.h>
#include <linux/fs.h>
@@ -7,7 +7,6 @@
#include <linux/kref.h>
#include <linux/mutex.h>
#include <linux/net.h>
-#include <linux/radix-tree.h>
#include <linux/uio.h>
#include <linux/workqueue.h>
#include <net/net_namespace.h>
@@ -11,7 +11,6 @@
#include <linux/sched.h>
#include <linux/cpumask.h>
-#include <linux/nodemask.h>
#include <linux/rculist.h>
#include <linux/cgroupstats.h>
#include <linux/fs.h>
@@ -14,7 +14,6 @@
#include <linux/time.h>
#include <linux/list.h>
#include <linux/cache.h>
-#include <linux/timer.h>
#include <linux/init.h>
#include <linux/of.h>
#include <linux/clocksource_ids.h>
@@ -12,7 +12,6 @@
#include <linux/refcount.h>
#include <linux/list.h>
-#include <linux/workqueue.h>
#include <net/sock.h>
#include <uapi/linux/connector.h>
@@ -13,7 +13,6 @@
#include <linux/percpu.h>
#include <linux/list.h>
-#include <linux/hrtimer.h>
#include <linux/context_tracking.h>
#define CPUIDLE_STATE_MAX 10
@@ -4,7 +4,6 @@
#include <linux/fs.h>
#include <linux/mm.h>
-#include <linux/radix-tree.h>
typedef unsigned long dax_entry_t;
@@ -8,7 +8,6 @@
#include <linux/ktime.h>
#include <linux/list.h>
#include <linux/uio.h>
-#include <linux/workqueue.h>
#include <net/inet_connection_sock.h>
#include <net/inet_sock.h>
@@ -20,6 +20,7 @@
struct device;
struct file_operations;
+struct seq_file;
struct debugfs_blob_wrapper {
void *data;
@@ -3,7 +3,6 @@
#define _LINUX_DEBUGOBJECTS_H
#include <linux/list.h>
-#include <linux/spinlock.h>
enum debug_obj_state {
ODEBUG_STATE_NONE,
@@ -22,8 +22,6 @@
#include <linux/compiler.h>
#include <linux/types.h>
#include <linux/mutex.h>
-#include <linux/pm.h>
-#include <linux/atomic.h>
#include <linux/uidgid.h>
#include <linux/gfp.h>
#include <linux/overflow.h>
@@ -14,13 +14,14 @@
#ifndef _DEVICE_BUS_H_
#define _DEVICE_BUS_H_
-#include <linux/kobject.h>
#include <linux/klist.h>
#include <linux/pm.h>
#include <linux/sysfs.h> // for struct attribute
struct device_driver;
+struct device_node;
struct fwnode_handle;
+struct kobj_uevent_env;
/**
* struct bus_type - The bus type of the device
@@ -14,14 +14,13 @@
#ifndef _DEVICE_CLASS_H_
#define _DEVICE_CLASS_H_
-#include <linux/kobject.h>
#include <linux/klist.h>
-#include <linux/pm.h>
#include <linux/uidgid_types.h>
#include <linux/device/bus.h>
struct device;
struct fwnode_handle;
+struct kobj_uevent_env;
/**
* struct class - device classes
@@ -14,9 +14,7 @@
#ifndef _DEVICE_DRIVER_H_
#define _DEVICE_DRIVER_H_
-#include <linux/kobject.h>
#include <linux/klist.h>
-#include <linux/pm.h>
#include <linux/device/bus.h>
#include <linux/module.h>
@@ -14,7 +14,6 @@
#define __LINUX_DMA_FENCE_H
#include <linux/err.h>
-#include <linux/wait.h>
#include <linux/list.h>
#include <linux/bitops.h>
#include <linux/kernel.h> // for lower_32_bits()
@@ -42,7 +42,6 @@
#include <linux/ww_mutex.h>
#include <linux/dma-fence.h>
#include <linux/slab.h>
-#include <linux/seqlock.h>
#include <linux/rcupdate.h>
extern struct ww_class reservation_ww_class;
@@ -3,7 +3,6 @@
#define __DMI_H__
#include <linux/list.h>
-#include <linux/kobject.h>
#include <linux/mod_devicetable.h>
/* enum dmi_field is in mod_devicetable.h */
@@ -8,7 +8,6 @@
#define __DPLL_H__
#include <uapi/linux/dpll.h>
-#include <linux/device.h>
#include <linux/netlink.h>
struct dpll_device;
@@ -2,14 +2,14 @@
#ifndef _LINUX_ENERGY_MODEL_H
#define _LINUX_ENERGY_MODEL_H
#include <linux/cpumask.h>
-#include <linux/device.h>
#include <linux/jump_label.h>
-#include <linux/kobject.h>
#include <linux/rcupdate.h>
#include <linux/sched/cpufreq.h>
#include <linux/sched/topology.h>
#include <linux/types.h>
+struct device;
+
/**
* struct em_perf_state - Performance state of a performance domain
* @frequency: The frequency in KHz, for consistency with CPUFreq
@@ -11,8 +11,6 @@
#include <linux/wait.h>
#include <linux/err.h>
-#include <linux/percpu-defs.h>
-#include <linux/percpu.h>
#include <linux/sched.h>
#include <uapi/linux/eventfd.h>
@@ -18,11 +18,14 @@
#ifndef __LINUX_EXTCON_H__
#define __LINUX_EXTCON_H__
-#include <linux/device.h>
#include <linux/errno.h>
#include <linux/notifier.h>
#include <linux/types.h>
+struct device;
+struct device_node;
+struct notifier_block;
+
/*
* Define the type of supported external connectors
*/
@@ -3,7 +3,6 @@
#define _LINUX_FB_H
#include <linux/refcount.h>
-#include <linux/kgdb.h>
#include <uapi/linux/fb.h>
#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor_user)
@@ -13,7 +12,6 @@
#include <linux/workqueue.h>
#include <linux/notifier.h>
#include <linux/list.h>
-#include <linux/backlight.h>
#include <linux/slab.h>
#include <asm/fb.h>
@@ -24,6 +22,7 @@ struct device;
struct file;
struct videomode;
struct device_node;
+struct backlight_device;
/* Definitions below are used in the parsed monitor specs */
#define FB_DPMS_ACTIVE_OFF 1
@@ -12,7 +12,6 @@
#include <linux/skbuff.h>
#include <linux/linkage.h>
#include <linux/printk.h>
-#include <linux/workqueue.h>
#include <linux/sched.h>
#include <linux/sched/clock.h>
#include <linux/capability.h>
@@ -10,7 +10,6 @@
#include <linux/list.h>
#include <linux/mutex.h>
#include <linux/spinlock.h>
-#include <linux/sysfs.h>
#include <linux/timer.h>
#include <linux/types.h>
#include <linux/workqueue.h>
@@ -5,7 +5,8 @@
#include <linux/compiler.h>
#include <linux/ftrace.h>
-#include <linux/rethook.h>
+
+struct rethook;
/**
* struct fprobe - ftrace based probe.
@@ -6,7 +6,6 @@
#include <linux/debug_locks.h>
#include <linux/sched.h>
-#include <linux/wait.h>
#include <linux/atomic.h>
#include <linux/jump_label.h>
@@ -12,11 +12,9 @@
#include <linux/list.h>
#include <linux/list_lru.h>
#include <linux/llist.h>
-#include <linux/radix-tree.h>
#include <linux/xarray.h>
#include <linux/rbtree.h>
#include <linux/init.h>
-#include <linux/pid.h>
#include <linux/bug.h>
#include <linux/mutex.h>
#include <linux/rwsem.h>
@@ -26,7 +24,6 @@
#include <linux/fcntl.h>
#include <linux/rculist_bl.h>
#include <linux/atomic.h>
-#include <linux/shrinker.h>
#include <linux/migrate_mode.h>
#include <linux/uidgid.h>
#include <linux/lockdep.h>
@@ -40,7 +37,6 @@
#include <linux/build_bug.h>
#include <linux/stddef.h>
#include <linux/mount.h>
-#include <linux/cred.h>
#include <linux/mnt_idmapping.h>
#include <linux/slab.h>
@@ -75,6 +71,8 @@ struct fs_context;
struct fs_parameter_spec;
struct fileattr;
struct iomap_ops;
+struct shrinker;
+struct shrink_control;
extern void __init inode_init(void);
extern void __init inode_init_early(void);
@@ -10,7 +10,6 @@
#include <linux/trace_recursion.h>
#include <linux/trace_clock.h>
#include <linux/jump_label.h>
-#include <linux/kallsyms.h>
#include <linux/linkage.h>
#include <linux/bitops.h>
#include <linux/ptrace.h>
@@ -13,7 +13,6 @@
#include <linux/list.h>
#include <linux/kfifo.h>
#include <linux/kref.h>
-#include <linux/workqueue.h>
#define GB_CONNECTION_FLAG_CSD BIT(0)
#define GB_CONNECTION_FLAG_NO_FLOWCTRL BIT(1)
@@ -6,8 +6,8 @@
#ifndef __LINUX_GROUP_CPUS_H
#define __LINUX_GROUP_CPUS_H
-#include <linux/kernel.h>
-#include <linux/cpu.h>
+
+struct cpumask;
struct cpumask *group_cpus_evenly(unsigned int numgrps);
@@ -17,7 +17,6 @@
#include <linux/init.h>
#include <linux/list.h>
#include <linux/percpu-defs.h>
-#include <linux/rbtree.h>
#include <linux/seqlock.h>
#include <linux/timer.h>
#include <asm/percpu.h> // for PER_CPU_BASE_SECTION needed by DECLARE_PER_CPU()
@@ -18,7 +18,6 @@
#include <linux/types.h>
#include <linux/scatterlist.h>
#include <linux/list.h>
-#include <linux/timer.h>
#include <linux/completion.h>
#include <linux/device.h>
#include <linux/mod_devicetable.h>
@@ -9,8 +9,6 @@
#define _LINUX_I2C_SMBUS_H
#include <linux/i2c.h>
-#include <linux/spinlock.h>
-#include <linux/workqueue.h>
/**
@@ -15,7 +15,6 @@
#include <linux/i3c/ccc.h>
#include <linux/i3c/device.h>
#include <linux/rwsem.h>
-#include <linux/spinlock.h>
#include <linux/workqueue.h>
#define I3C_HOT_JOIN_ADDR 0x2
@@ -6,7 +6,7 @@
#ifndef _IIO_BUFFER_GENERIC_H_
#define _IIO_BUFFER_GENERIC_H_
-#include <linux/sysfs.h>
+
#include <linux/iio/iio.h>
struct iio_buffer;
@@ -11,8 +11,6 @@
#include <linux/pid_namespace.h>
#include <linux/user_namespace.h>
#include <linux/securebits.h>
-#include <linux/seqlock.h>
-#include <linux/rbtree.h>
#include <linux/refcount.h>
#include <linux/sched/autogroup.h>
#include <net/net_namespace.h>
@@ -7,7 +7,6 @@
#ifndef __LINUX_INTERCONNECT_H
#define __LINUX_INTERCONNECT_H
-#include <linux/mutex.h>
#include <linux/types.h>
/* macros for converting to icc units */
@@ -10,7 +10,6 @@
#include <linux/irqnr.h>
#include <linux/hardirq.h>
#include <linux/irqflags.h>
-#include <linux/hrtimer.h>
#include <linux/kref.h>
#include <linux/workqueue.h>
#include <linux/jump_label.h>
@@ -3,7 +3,6 @@
#define _LINUX_IO_URING_H
#include <linux/sched.h>
-#include <linux/xarray.h>
#include <uapi/linux/io_uring.h>
#if defined(CONFIG_IO_URING)
@@ -12,7 +12,6 @@
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/err.h>
-#include <linux/of.h>
#include <linux/iova_bitmap.h>
#include <uapi/linux/iommu.h>
@@ -32,6 +31,7 @@
*/
#define IOMMU_PRIV (1 << 5)
+struct of_phandle_args;
struct iommu_ops;
struct iommu_group;
struct bus_type;
@@ -9,8 +9,6 @@
#ifndef _ISM_H
#define _ISM_H
-#include <linux/workqueue.h>
-
struct ism_dmb {
u64 dmb_tok;
u64 rgid;
@@ -2,7 +2,6 @@
#ifndef _LINUX_KERNEL_STAT_H
#define _LINUX_KERNEL_STAT_H
-#include <linux/smp.h>
#include <linux/threads.h>
#include <linux/percpu.h>
#include <linux/cpumask.h>
@@ -9,16 +9,11 @@
#include <linux/err.h>
#include <linux/list.h>
#include <linux/mutex.h>
-#include <linux/idr.h>
#include <linux/lockdep.h>
#include <linux/rbtree.h>
-#include <linux/atomic.h>
#include <linux/bug.h>
#include <linux/types.h>
#include <linux/uidgid.h>
-#include <linux/wait.h>
-#include <linux/rwsem.h>
-#include <linux/cache.h>
struct file;
struct dentry;
@@ -16,7 +16,9 @@
#include <linux/linkage.h>
#include <linux/init.h>
#include <linux/atomic.h>
+#ifdef CONFIG_KGDB_HONOUR_BLOCKLIST
#include <linux/kprobes.h>
+#endif
#ifdef CONFIG_HAVE_ARCH_KGDB
#include <asm/kgdb.h>
#endif
@@ -6,7 +6,9 @@
#ifndef _KOBJ_MAP_H_
#define _KOBJ_MAP_H_
-#include <linux/mutex.h>
+#include <linux/types.h> // for dev_t
+
+struct mutex;
typedef struct kobject *kobj_probe_t(dev_t, int *, void *);
struct kobj_map;
@@ -24,8 +24,6 @@
#include <linux/stdarg.h> // for va_list
#include <linux/kref.h>
#include <linux/kobject_ns.h>
-#include <linux/wait.h>
-#include <linux/atomic.h>
#include <linux/workqueue.h>
#include <linux/uidgid.h>
@@ -19,10 +19,8 @@
#include <linux/linkage.h>
#include <linux/list.h>
#include <linux/notifier.h>
-#include <linux/smp.h>
#include <linux/bug.h>
#include <linux/percpu.h>
-#include <linux/spinlock.h>
#include <linux/rcupdate.h>
#include <linux/mutex.h>
#include <linux/ftrace.h>
@@ -20,7 +20,6 @@
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/rcupdate.h>
-#include <linux/ratelimit.h>
#include <linux/err.h>
#include <linux/irqflags.h>
#include <linux/context_tracking.h>
@@ -7,7 +7,6 @@
#define LAPB_KERNEL_H
#include <linux/skbuff.h>
-#include <linux/timer.h>
struct net_device;
@@ -11,7 +11,8 @@
#include <linux/types.h>
#include <linux/uuid.h>
#include <linux/spinlock.h>
-#include <linux/bio.h>
+
+struct bio;
struct badrange_entry {
u64 start;
@@ -17,7 +17,6 @@
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/bitops.h>
-#include <linux/string.h> /* for memset */
#include <linux/seq_file.h>
/*
@@ -15,7 +15,6 @@
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/kdev_t.h>
-#include <linux/spinlock.h>
#include <linux/init.h>
#include <linux/audit.h>
#include <linux/in6.h>
@@ -412,7 +412,8 @@ struct mISDN_ctrl_req {
#include <linux/skbuff.h>
#include <linux/net.h>
#include <net/sock.h>
-#include <linux/completion.h>
+
+struct completion;
#define DEBUG_CORE 0x000000ff
#define DEBUG_CORE_FUNC 0x00000002
@@ -7,9 +7,9 @@
#ifndef __MAILBOX_CLIENT_H
#define __MAILBOX_CLIENT_H
-#include <linux/of.h>
-#include <linux/device.h>
+#include <linux/types.h>
+struct device;
struct mbox_chan;
/**
@@ -3,12 +3,12 @@
#ifndef __MAILBOX_CONTROLLER_H
#define __MAILBOX_CONTROLLER_H
-#include <linux/of.h>
#include <linux/types.h>
#include <linux/hrtimer.h>
-#include <linux/device.h>
#include <linux/completion.h>
+struct device;
+struct of_phandle_args;
struct mbox_chan;
/**
@@ -9,8 +9,10 @@
*/
#ifndef __LINUX_MDIO_MUX_H
#define __LINUX_MDIO_MUX_H
-#include <linux/device.h>
-#include <linux/phy.h>
+
+struct device;
+struct device_node;
+struct mii_bus;
/* mdio_mux_init() - Initialize a MDIO mux
* @dev The device owning the MDIO mux
@@ -8,9 +8,11 @@
#ifndef MDIO_MSCC_MIIM_H
#define MDIO_MSCC_MIIM_H
-#include <linux/device.h>
-#include <linux/phy.h>
-#include <linux/regmap.h>
+#include <linux/types.h>
+
+struct device;
+struct mii_bus;
+struct regmap;
int mscc_miim_setup(struct device *device, struct mii_bus **bus,
const char *name, struct regmap *mii_regmap,
@@ -22,13 +22,13 @@
#include <linux/vmstat.h>
#include <linux/writeback.h>
#include <linux/page-flags.h>
-#include <linux/shrinker.h>
struct mem_cgroup;
struct obj_cgroup;
struct page;
struct mm_struct;
struct kmem_cache;
+struct shrinker_info;
/* Cgroup-specific page state, on top of universal node page state */
enum memcg_stat_item {
@@ -10,7 +10,6 @@
#include <linux/mmzone.h>
#include <linux/slab.h>
#include <linux/rbtree.h>
-#include <linux/spinlock.h>
#include <linux/nodemask.h>
#include <linux/pagemap.h>
#include <uapi/linux/mempolicy.h>
@@ -10,7 +10,6 @@
#ifndef __MFD_ALTERA_A10SR_H
#define __MFD_ALTERA_A10SR_H
-#include <linux/completion.h>
#include <linux/list.h>
#include <linux/mfd/core.h>
#include <linux/regmap.h>
@@ -10,7 +10,6 @@
#define __LINUX_MFD_MAX8907_H
#include <linux/mutex.h>
-#include <linux/pm.h>
#define MAX8907_GEN_I2C_ADDR (0x78 >> 1)
#define MAX8907_ADC_I2C_ADDR (0x8e >> 1)
@@ -10,7 +10,6 @@
#ifndef __MFD_WM831X_CORE_H__
#define __MFD_WM831X_CORE_H__
-#include <linux/completion.h>
#include <linux/interrupt.h>
#include <linux/irqdomain.h>
#include <linux/list.h>
@@ -8,7 +8,6 @@
#ifndef __LINUX_MFD_WM8350_SUPPLY_H_
#define __LINUX_MFD_WM8350_SUPPLY_H_
-#include <linux/mutex.h>
#include <linux/power_supply.h>
/*
@@ -9,7 +9,6 @@
#define __LINUX_MFD_WM8400_PRIV_H
#include <linux/mfd/wm8400.h>
-#include <linux/mutex.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
@@ -10,7 +10,6 @@
#ifndef __MFD_WM8994_CORE_H__
#define __MFD_WM8994_CORE_H__
-#include <linux/mutex.h>
#include <linux/interrupt.h>
#include <linux/regmap.h>
@@ -15,9 +15,7 @@
#include <linux/mmap_lock.h>
#include <linux/range.h>
#include <linux/pfn.h>
-#include <linux/percpu-refcount.h>
#include <linux/bit_spinlock.h>
-#include <linux/shrinker.h>
#include <linux/resource.h>
#include <linux/page_ext.h>
#include <linux/err.h>
@@ -13,7 +13,6 @@
#include <linux/rbtree.h>
#include <linux/maple_tree.h>
#include <linux/rwsem.h>
-#include <linux/completion.h>
#include <linux/cpumask.h>
#include <linux/uprobes.h>
#include <linux/rcupdate.h>
@@ -3,7 +3,6 @@
#define _LINUX_MMU_NOTIFIER_H
#include <linux/list.h>
-#include <linux/spinlock.h>
#include <linux/mm_types.h>
#include <linux/mmap_lock.h>
#include <linux/srcu.h>
@@ -9,7 +9,6 @@
#include <linux/mutex.h>
#include <linux/kref.h>
#include <linux/list.h>
-#include <linux/sysfs.h>
struct hd_geometry;
struct mtd_info;
@@ -3,8 +3,6 @@
#define __LINUX_MTD_QINFO_H
#include <linux/mtd/map.h>
-#include <linux/wait.h>
-#include <linux/spinlock.h>
#include <linux/delay.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/flashchip.h>
@@ -32,7 +32,6 @@
#include <linux/percpu.h>
#include <linux/rculist.h>
-#include <linux/workqueue.h>
#include <linux/dynamic_queue_limits.h>
#include <net/net_namespace.h>
@@ -8,7 +8,6 @@
#include <linux/if.h>
#include <linux/in.h>
#include <linux/in6.h>
-#include <linux/wait.h>
#include <linux/list.h>
#include <linux/static_key.h>
#include <linux/module.h>
@@ -25,7 +25,6 @@
#include <linux/rbtree.h>
#include <linux/refcount.h>
#include <linux/rwsem.h>
-#include <linux/wait.h>
#include <linux/sunrpc/debug.h>
#include <linux/sunrpc/auth.h>
@@ -13,7 +13,6 @@
#include <linux/list.h>
#include <linux/pagemap.h>
-#include <linux/wait.h>
#include <linux/sunrpc/auth.h>
#include <linux/nfs_xdr.h>
@@ -95,7 +95,10 @@
#include <linux/minmax.h>
#include <linux/nodemask_types.h>
#include <linux/numa.h>
+
+#if defined(CONFIG_NUMA) && (MAX_NUMNODES > 1)
#include <linux/random.h>
+#endif
extern nodemask_t _unused_nodemask_arg_;
@@ -3,7 +3,6 @@
#define _LINUX_NSPROXY_H
#include <linux/refcount.h>
-#include <linux/spinlock.h>
#include <linux/sched.h>
struct mnt_namespace;
@@ -8,7 +8,6 @@
*/
#include <linux/spinlock.h>
-#include <linux/smp.h>
#include <linux/list.h>
#include <linux/threads.h>
#include <linux/percpu.h>
@@ -11,7 +11,6 @@
#include <linux/interrupt.h>
#include <linux/perf_event.h>
#include <linux/platform_device.h>
-#include <linux/sysfs.h>
#include <asm/cputype.h>
#ifdef CONFIG_ARM_PMU
@@ -12,7 +12,6 @@
#define __PHY_H
#include <linux/compiler.h>
-#include <linux/spinlock.h>
#include <linux/ethtool.h>
#include <linux/leds.h>
#include <linux/linkmode.h>
@@ -21,7 +20,6 @@
#include <linux/mii.h>
#include <linux/mii_timestamper.h>
#include <linux/module.h>
-#include <linux/timer.h>
#include <linux/workqueue.h>
#include <linux/mod_devicetable.h>
#include <linux/u64_stats_sync.h>
@@ -11,7 +11,6 @@
#define __DRIVERS_PHY_H
#include <linux/err.h>
-#include <linux/of.h>
#include <linux/device.h>
#include <linux/pm_runtime.h>
#include <linux/regulator/consumer.h>
@@ -20,6 +19,7 @@
#include <linux/phy/phy-lvds.h>
#include <linux/phy/phy-mipi-dphy.h>
+struct of_phandle_args;
struct phy;
enum phy_mode {
@@ -2,8 +2,6 @@
#define NETDEV_PCS_H
#include <linux/phy.h>
-#include <linux/spinlock.h>
-#include <linux/workqueue.h>
struct device_node;
struct ethtool_cmd;
@@ -5,7 +5,6 @@
#include <linux/sched.h>
#include <linux/bug.h>
#include <linux/mm.h>
-#include <linux/workqueue.h>
#include <linux/threads.h>
#include <linux/nsproxy.h>
#include <linux/ns_common.h>
@@ -13,10 +13,7 @@
#define __PKTCDVD_H
#include <linux/blkdev.h>
-#include <linux/completion.h>
#include <linux/cdrom.h>
-#include <linux/kobject.h>
-#include <linux/sysfs.h>
#include <linux/mempool.h>
#include <uapi/linux/pktcdvd.h>
@@ -8,7 +8,6 @@
#ifndef __ASOC_TI_MCBSP_H
#define __ASOC_TI_MCBSP_H
-#include <linux/spinlock.h>
#include <linux/clk.h>
/* Platform specific configuration */
@@ -14,7 +14,6 @@
#include <linux/workqueue.h>
#include <linux/spinlock.h>
#include <linux/wait.h>
-#include <linux/timer.h>
#include <linux/hrtimer.h>
#include <linux/completion.h>
@@ -13,7 +13,6 @@
#include <linux/mutex.h>
#include <linux/pm.h>
#include <linux/err.h>
-#include <linux/of.h>
#include <linux/notifier.h>
#include <linux/spinlock.h>
#include <linux/cpumask.h>
@@ -348,6 +347,7 @@ static inline void dev_pm_genpd_resume(struct device *dev) {}
/* OF PM domain providers */
struct of_device_id;
+struct of_phandle_args;
typedef struct generic_pm_domain *(*genpd_xlate_t)(struct of_phandle_args *args,
void *data);
@@ -4,7 +4,6 @@
#include <linux/alarmtimer.h>
#include <linux/list.h>
-#include <linux/mutex.h>
#include <linux/posix-timers_types.h>
#include <linux/spinlock.h>
#include <linux/timerqueue.h>
@@ -10,9 +10,10 @@
#include <linux/pps.h>
#include <linux/cdev.h>
-#include <linux/device.h>
#include <linux/time.h>
+struct device;
+
/*
* Global defines
*/
@@ -5,7 +5,6 @@
#include <linux/kthread.h>
#include <linux/seqlock.h>
#include <linux/types.h>
-#include <linux/kref.h>
#include <linux/wait.h>
#ifdef CONFIG_PSI
@@ -4,9 +4,9 @@
#include <linux/err.h>
#include <linux/math.h> // for DIV_ROUND_CLOSEST_ULL()
-#include <linux/mutex.h>
-#include <linux/of.h>
+struct of_phandle_args;
+struct fwnode_handle;
struct pwm_chip;
/**
@@ -36,7 +36,6 @@
#include <linux/mutex.h>
#include <linux/rwsem.h>
#include <linux/spinlock.h>
-#include <linux/wait.h>
#include <linux/percpu_counter.h>
#include <linux/dqblk_xfs.h>
@@ -5,7 +5,6 @@
#include <linux/bug.h>
#include <linux/kernel.h>
-#include <linux/list.h>
#include <uapi/linux/random.h>
@@ -11,7 +11,6 @@
*/
#include <linux/list.h>
-#include <linux/rbtree.h>
#include <linux/ktime.h>
#include <linux/delay.h>
#include <linux/err.h>
@@ -13,7 +13,6 @@
#include <linux/types.h>
#include <linux/sched.h>
-#include <linux/timer.h>
#include <linux/wait.h>
#include <linux/list.h>
#include <linux/irq_work.h>
@@ -39,7 +39,6 @@
#include <linux/mutex.h>
#include <linux/virtio.h>
#include <linux/cdev.h>
-#include <linux/completion.h>
#include <linux/idr.h>
#include <linux/of.h>
@@ -31,8 +31,6 @@ enum rfkill_user_states {
#undef RFKILL_STATE_HARD_BLOCKED
#include <linux/kernel.h>
-#include <linux/list.h>
-#include <linux/mutex.h>
#include <linux/leds.h>
#include <linux/err.h>
@@ -3,7 +3,6 @@
#define _LINUX_RING_BUFFER_H
#include <linux/mm.h>
-#include <linux/seq_file.h>
#include <linux/poll.h>
struct trace_buffer;
@@ -23,7 +23,6 @@
#include <linux/rtc.h>
#include <linux/platform_device.h>
-#include <linux/workqueue.h>
/**
* struct ds1685_priv - DS1685 private data structure.
@@ -2,8 +2,6 @@
#ifndef __LINUX_RTNETLINK_H
#define __LINUX_RTNETLINK_H
-
-#include <linux/mutex.h>
#include <linux/netdevice.h>
#include <linux/wait.h>
#include <linux/refcount.h>
@@ -17,7 +17,6 @@
#include <linux/minmax.h>
#include <linux/percpu.h>
#include <linux/slab.h>
-#include <linux/smp.h>
#include <linux/types.h>
#include <linux/wait.h>
@@ -2,7 +2,7 @@
#ifndef _LINUX_SCHED_CLOCK_H
#define _LINUX_SCHED_CLOCK_H
-#include <linux/smp.h>
+#include <linux/types.h>
/*
* Do not use outside of architecture code which knows its limitations.
@@ -8,13 +8,14 @@
#include <linux/sched/jobctl.h>
#include <linux/sched/task.h>
#include <linux/completion.h>
-#include <linux/cred.h>
#include <linux/refcount.h>
#include <linux/pid.h>
#include <linux/posix-timers.h>
#include <linux/mm_types.h>
#include <asm/ptrace.h>
+struct cred;
+
/*
* Types defining task->signal and task->sighand and APIs using them:
*/
@@ -32,7 +32,7 @@
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/sockptr.h>
-#include <linux/bpf.h>
+#include <uapi/linux/bpf.h>
#include <uapi/linux/lsm.h>
struct linux_binprm;
@@ -8,7 +8,6 @@
#include <linux/bug.h>
#include <linux/mutex.h>
#include <linux/cpumask.h>
-#include <linux/nodemask.h>
#include <linux/fs.h>
#include <linux/cred.h>
@@ -3,7 +3,6 @@
#define __SH_CLOCK_H
#include <linux/list.h>
-#include <linux/seq_file.h>
#include <linux/cpufreq.h>
#include <linux/types.h>
#include <linux/kref.h>
@@ -17,7 +17,6 @@
#include <linux/log2.h>
#include <linux/overflow.h>
#include <linux/types.h>
-#include <linux/workqueue.h>
#include <linux/percpu-refcount.h>
#include <linux/cleanup.h>
#include <linux/hash.h>
@@ -7,9 +7,10 @@
#define _LINUX_SLIMBUS_H
#include <linux/device.h>
#include <linux/module.h>
-#include <linux/completion.h>
#include <linux/mod_devicetable.h>
+struct completion;
+
extern struct bus_type slimbus_bus;
/**
@@ -10,10 +10,11 @@
#ifndef _LINUX_APPLE_RTKIT_H_
#define _LINUX_APPLE_RTKIT_H_
-#include <linux/device.h>
#include <linux/types.h>
#include <linux/mailbox_client.h>
+struct device;
+
/*
* Struct to represent implementation-specific RTKit operations.
*
@@ -12,10 +12,10 @@
#ifndef _LINUX_SOC_APPLE_SART_H_
#define _LINUX_SOC_APPLE_SART_H_
-#include <linux/device.h>
#include <linux/err.h>
#include <linux/types.h>
+struct device;
struct apple_sart;
/*
@@ -9,7 +9,6 @@
#include <linux/mailbox_client.h>
#include <linux/mailbox/mtk-cmdq-mailbox.h>
-#include <linux/timer.h>
#define CMDQ_ADDR_HIGH(addr) ((u32)(((addr) >> 16) & GENMASK(31, 0)))
#define CMDQ_ADDR_LOW(addr) ((u16)(addr) | BIT(1))
@@ -7,8 +7,8 @@
#define __QCOM_AOSS_H__
#include <linux/err.h>
-#include <linux/device.h>
+struct device;
struct qmp;
#if IS_ENABLED(CONFIG_QCOM_AOSS_QMP)
@@ -4,7 +4,6 @@
#include <linux/mutex.h>
#include <linux/types.h>
-#include <linux/workqueue.h>
struct spi_bitbang {
struct mutex lock;
@@ -16,9 +16,7 @@
#ifndef _LINUX_SRCU_H
#define _LINUX_SRCU_H
-#include <linux/mutex.h>
#include <linux/rcupdate.h>
-#include <linux/workqueue.h>
#include <linux/rcu_segcblist.h>
struct srcu_struct;
@@ -7,7 +7,9 @@
#ifndef _STM_H_
#define _STM_H_
-#include <linux/device.h>
+#include <linux/types.h>
+
+struct device;
/**
* enum stp_packet_type - STP packets that an STM driver sends
@@ -16,7 +16,6 @@
#include <linux/atomic.h>
#include <linux/rcupdate.h>
-#include <linux/uidgid.h>
#include <linux/utsname.h>
/*
@@ -26,12 +26,13 @@
#ifndef _LINUX_SUNRPC_METRICS_H
#define _LINUX_SUNRPC_METRICS_H
-#include <linux/seq_file.h>
#include <linux/ktime.h>
#include <linux/spinlock.h>
#define RPC_IOSTATS_VERS "1.1"
+struct seq_file;
+
struct rpc_iostats {
spinlock_t om_lock;
@@ -5,7 +5,6 @@
#include <linux/list.h>
#include <linux/spinlock_types.h>
#include <linux/wait.h>
-#include <linux/workqueue.h>
struct rpc_pipe_dir_head {
struct list_head pdh_entries;
@@ -10,7 +10,6 @@
#ifndef _LINUX_SUNRPC_SCHED_H_
#define _LINUX_SUNRPC_SCHED_H_
-#include <linux/timer.h>
#include <linux/ktime.h>
#include <linux/sunrpc/types.h>
#include <linux/spinlock.h>
@@ -18,7 +18,6 @@
#include <linux/sunrpc/auth.h>
#include <linux/sunrpc/svcauth.h>
#include <linux/lwq.h>
-#include <linux/wait.h>
#include <linux/mm.h>
#include <linux/pagevec.h>
@@ -49,7 +49,6 @@
#include <linux/sunrpc/rpc_rdma_cid.h>
#include <linux/sunrpc/svc_rdma_pcl.h>
-#include <linux/percpu_counter.h>
#include <rdma/ib_verbs.h>
#include <rdma/rdma_cm.h>
@@ -16,7 +16,6 @@
#include <linux/sunrpc/gss_api.h>
#include <linux/hash.h>
#include <linux/stringhash.h>
-#include <linux/cred.h>
struct svc_cred {
kuid_t cr_uid;
@@ -5,7 +5,7 @@
#include <linux/list.h>
#include <linux/stddef.h>
#include <linux/spinlock.h>
-#include <linux/wait.h>
+#include <linux/wait.h> // for ___wait_is_interruptible()
#include <asm/current.h>
/*
@@ -2,7 +2,6 @@
#ifndef _LINUX_SWAPOPS_H
#define _LINUX_SWAPOPS_H
-#include <linux/radix-tree.h>
#include <linux/bug.h>
#include <linux/mm_types.h>
@@ -16,7 +16,6 @@
#include <linux/types.h>
#include <linux/ktime.h>
#include <linux/list.h>
-#include <linux/spinlock.h>
#include <linux/dma-fence.h>
#include <linux/dma-fence-array.h>
@@ -6,7 +6,8 @@
#ifndef __SOC_BUS_H
#define __SOC_BUS_H
-#include <linux/device.h>
+struct device;
+struct soc_device;
struct soc_device_attribute {
const char *machine;
@@ -84,7 +84,6 @@ struct mnt_id_req;
#include <linux/signal.h>
#include <linux/list.h>
#include <linux/bug.h>
-#include <linux/sem.h>
#include <asm/siginfo.h>
#include <linux/unistd.h>
#include <linux/quota.h>
@@ -16,17 +16,12 @@
#include <linux/kernfs.h>
#include <linux/kernel.h> // for VERIFY_OCTAL_PERMISSIONS()
#include <linux/compiler.h>
-#include <linux/errno.h>
#include <linux/list.h>
#include <linux/lockdep.h>
-#include <linux/kobject_ns.h>
-#include <linux/stat.h>
-#include <linux/atomic.h>
struct kobject;
struct module;
struct bin_attribute;
-enum kobj_ns_type;
struct attribute {
const char *name;
@@ -10,7 +10,6 @@
#ifndef __THERMAL_H__
#define __THERMAL_H__
-#include <linux/of.h>
#include <linux/idr.h>
#include <linux/device.h>
#include <linux/sysfs.h>
@@ -12,12 +12,8 @@
#include <linux/types.h>
#include <linux/cache.h>
-#include <linux/spinlock.h>
#include <linux/threads.h>
#include <linux/cpumask.h>
-#include <linux/seqlock.h>
-#include <linux/lockdep.h>
-#include <linux/completion.h>
#include <linux/debugobjects.h>
#include <linux/bug.h>
#include <linux/compiler.h>
@@ -13,7 +13,6 @@
#define _TRACEFS_H_
#include <linux/fs.h>
-#include <linux/seq_file.h>
#include <linux/types.h>
@@ -8,10 +8,11 @@
#ifndef _TRANSPORT_CLASS_H_
#define _TRANSPORT_CLASS_H_
-#include <linux/device.h>
+#include <linux/device/class.h>
#include <linux/bug.h>
#include <linux/attribute_container.h>
+struct device;
struct transport_container;
struct transport_class {
@@ -11,6 +11,7 @@
#include <linux/termios.h>
#include <linux/seq_file.h>
+struct attribute_group;
struct tty_struct;
struct tty_driver;
struct serial_icounter_struct;
@@ -5,11 +5,9 @@
struct tty_struct;
#include <linux/fs.h>
-#include <linux/wait.h>
#include <linux/atomic.h>
#include <linux/list.h>
#include <linux/lockdep.h>
-#include <linux/seq_file.h>
/*
* the semaphore definition
@@ -61,7 +61,10 @@
*/
#include <asm/bitsperlong.h>
+
+#if BITS_PER_LONG == 32
#include <linux/seqlock.h>
+#endif
struct u64_stats_sync {
#if BITS_PER_LONG == 32
@@ -12,9 +12,7 @@
*/
#include <linux/errno.h>
-#include <linux/rbtree.h>
#include <linux/types.h>
-#include <linux/wait.h>
struct vm_area_struct;
struct mm_struct;
@@ -8,7 +8,6 @@
#ifdef __KERNEL__
-#include <linux/rwsem.h>
#include <linux/interrupt.h>
#include <linux/idr.h>
@@ -3,8 +3,11 @@
#ifndef __LINUX_USB_ROLE_H
#define __LINUX_USB_ROLE_H
-#include <linux/device.h>
+#include <linux/errno.h>
+#include <linux/types.h>
+struct device;
+struct fwnode_handle;
struct usb_role_switch;
enum usb_role {
@@ -2,7 +2,6 @@
#ifndef _LINUX_USER_NAMESPACE_H
#define _LINUX_USER_NAMESPACE_H
-#include <linux/kref.h>
#include <linux/nsproxy.h>
#include <linux/ns_common.h>
#include <linux/sched.h>
@@ -13,7 +13,6 @@
#include <linux/vfio.h>
#include <linux/irqbypass.h>
#include <linux/types.h>
-#include <linux/uuid.h>
#include <linux/notifier.h>
#ifndef VFIO_PCI_CORE_H
@@ -2,7 +2,6 @@
#ifndef _LINUX_VMALLOC_H
#define _LINUX_VMALLOC_H
-#include <linux/spinlock.h>
#include <linux/init.h>
#include <linux/list.h>
#include <linux/llist.h>
@@ -10,7 +10,6 @@
#include <linux/vt.h>
#include <linux/kd.h>
#include <linux/tty.h>
-#include <linux/mutex.h>
#include <linux/console_struct.h>
#include <linux/mm.h>
#include <linux/consolemap.h>
@@ -6,7 +6,6 @@
#define WRITEBACK_H
#include <linux/sched.h>
-#include <linux/workqueue.h>
#include <linux/fs.h>
#include <linux/flex_proportions.h>
#include <linux/backing-dev-defs.h>
@@ -14,7 +14,6 @@
#include <linux/device.h>
#include <linux/cdev.h>
#include <linux/kthread.h>
-#include <linux/timer.h>
#include <linux/cec-funcs.h>
#include <media/rc-core.h>
@@ -23,7 +23,6 @@
#include <linux/spinlock.h>
#include <linux/time.h>
#include <linux/timer.h>
-#include <linux/wait.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/mutex.h>
@@ -20,7 +20,6 @@
#define _DVB_DEMUX_H_
#include <linux/time.h>
-#include <linux/timer.h>
#include <linux/spinlock.h>
#include <linux/mutex.h>
@@ -12,7 +12,6 @@
#include <linux/cdev.h>
#include <linux/kfifo.h>
#include <linux/time.h>
-#include <linux/timer.h>
#include <media/rc-map.h>
/**
@@ -9,7 +9,6 @@
#define V4L2_ASYNC_H
#include <linux/list.h>
-#include <linux/mutex.h>
struct dentry;
struct device;
@@ -14,7 +14,6 @@
#include <linux/types.h>
#include <linux/videodev2.h>
-#include <linux/wait.h>
struct v4l2_fh;
struct v4l2_subdev;
@@ -12,7 +12,6 @@
#include <linux/poll.h>
#include <linux/fs.h>
-#include <linux/mutex.h>
#include <linux/sched/signal.h>
#include <linux/compiler.h> /* need __user */
#include <linux/videodev2.h>
@@ -15,7 +15,6 @@
#include <linux/refcount.h>
#include <net/neighbour.h>
#include <net/sock.h>
-#include <linux/seq_file.h>
#define AX25_T1CLAMPLO 1
#define AX25_T1CLAMPHI (30 * HZ)
@@ -28,7 +28,8 @@
#include <linux/poll.h>
#include <net/sock.h>
-#include <linux/seq_file.h>
+
+struct seq_file;
#define BT_SUBSYS_VERSION 2
#define BT_SUBSYS_REVISION 22
@@ -13,7 +13,6 @@
#ifndef _NET_BONDING_H
#define _NET_BONDING_H
-#include <linux/timer.h>
#include <linux/proc_fs.h>
#include <linux/if_bonding.h>
#include <linux/cpumask.h>
@@ -3,11 +3,7 @@
#ifndef _BPF_SK_STORAGE_H
#define _BPF_SK_STORAGE_H
-#include <linux/rculist.h>
-#include <linux/list.h>
-#include <linux/hash.h>
#include <linux/types.h>
-#include <linux/spinlock.h>
#include <linux/bpf.h>
#include <net/sock.h>
#include <uapi/linux/sock_diag.h>
@@ -6,7 +6,6 @@
#ifndef CFCNFG_H_
#define CFCNFG_H_
-#include <linux/spinlock.h>
#include <linux/netdevice.h>
#include <net/caif/caif_layer.h>
#include <net/caif/cfctrl.h>
@@ -9,7 +9,6 @@
#include <linux/list.h>
#include <linux/stddef.h>
#include <linux/types.h>
-#include <linux/kref.h>
#include <linux/rculist.h>
struct cfsrvl {
@@ -7,7 +7,6 @@
#ifndef _NET_DEVLINK_H_
#define _NET_DEVLINK_H_
-#include <linux/device.h>
#include <linux/slab.h>
#include <linux/gfp.h>
#include <linux/list.h>
@@ -18,9 +17,9 @@
#include <net/net_namespace.h>
#include <net/flow_offload.h>
#include <uapi/linux/devlink.h>
-#include <linux/xarray.h>
#include <linux/firmware.h>
+struct device;
struct devlink;
struct devlink_linecard;
@@ -11,8 +11,6 @@
#include <linux/if_ether.h>
#include <linux/list.h>
#include <linux/notifier.h>
-#include <linux/timer.h>
-#include <linux/workqueue.h>
#include <linux/of.h>
#include <linux/ethtool.h>
#include <linux/net_tstamp.h>
@@ -3,7 +3,6 @@
* include/net/dsa_stubs.h - Stubs for the Distributed Switch Architecture framework
*/
-#include <linux/mutex.h>
#include <linux/netdevice.h>
#include <linux/net_tstamp.h>
#include <net/dsa.h>
@@ -19,7 +19,6 @@
#include <linux/socket.h>
#include <linux/spinlock.h>
#include <linux/types.h>
-#include <linux/wait.h>
#include <net/inet_connection_sock.h>
#include <net/inet_sock.h>
@@ -14,7 +14,6 @@
#include <linux/list.h>
#include <linux/timer.h>
#include <linux/types.h>
-#include <linux/workqueue.h>
#include <net/inet_sock.h>
#include <net/sock.h>
@@ -11,7 +11,6 @@
#include <linux/types.h>
#include <linux/init.h>
#include <linux/jiffies.h>
-#include <linux/spinlock.h>
#include <linux/rtnetlink.h>
#include <net/ipv6.h>
#include <linux/atomic.h>
@@ -13,7 +13,6 @@
#define _NET_IP_FIB_H
#include <net/flow.h>
-#include <linux/seq_file.h>
#include <linux/rcupdate.h>
#include <net/fib_notifier.h>
#include <net/fib_rules.h>
@@ -31,7 +31,8 @@
#include <linux/skbuff.h>
#include <linux/ieee80211.h>
#include <linux/timer.h>
-#include <linux/seq_file.h>
+
+struct seq_file;
#define NUM_WEP_KEYS 4
@@ -22,7 +22,6 @@
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/rcupdate.h>
-#include <linux/seq_file.h>
#include <linux/bitmap.h>
#include <linux/err.h>
@@ -30,6 +29,8 @@
#include <linux/workqueue.h>
#include <net/rtnetlink.h>
+struct seq_file;
+
/*
* NUD stands for "neighbor unreachability detection"
*/
@@ -7,7 +7,6 @@
#include <linux/atomic.h>
#include <linux/refcount.h>
-#include <linux/workqueue.h>
#include <linux/list.h>
#include <linux/sysctl.h>
#include <linux/uidgid.h>
@@ -2,8 +2,6 @@
#ifndef _LINUX_NET_RATELIMIT_H
#define _LINUX_NET_RATELIMIT_H
-#include <linux/ratelimit.h>
-
extern struct ratelimit_state net_ratelimit_state;
#endif /* _LINUX_NET_RATELIMIT_H */
@@ -5,7 +5,6 @@
#include <linux/list.h>
#include <linux/list_nulls.h>
#include <linux/atomic.h>
-#include <linux/workqueue.h>
#include <linux/netfilter/nf_conntrack_tcp.h>
#ifdef CONFIG_NF_CT_PROTO_DCCP
#include <linux/netfilter/nf_conntrack_dccp.h>
@@ -3,7 +3,6 @@
#define __NETNS_XFRM_H
#include <linux/list.h>
-#include <linux/wait.h>
#include <linux/workqueue.h>
#include <linux/rhashtable-types.h>
#include <linux/xfrm.h>
@@ -13,7 +13,6 @@
#include <linux/slab.h>
#include <net/sock.h>
#include <linux/refcount.h>
-#include <linux/seq_file.h>
#include <net/ax25.h>
#define NR_NETWORK_LEN 15
@@ -3,11 +3,12 @@
#define __NET_PKT_CLS_H
#include <linux/pkt_cls.h>
-#include <linux/workqueue.h>
#include <net/sch_generic.h>
#include <net/act_api.h>
#include <net/net_namespace.h>
+struct rcu_work;
+
/* TC action not accessible from user space */
#define TC_ACT_CONSUMED (TC_ACT_VALUE_MAX + 1)
@@ -11,7 +11,6 @@
#include <linux/dynamic_queue_limits.h>
#include <linux/list.h>
#include <linux/refcount.h>
-#include <linux/workqueue.h>
#include <linux/mutex.h>
#include <linux/rwsem.h>
#include <linux/atomic.h>
@@ -11,12 +11,12 @@
#ifndef _SMC_H
#define _SMC_H
-#include <linux/device.h>
#include <linux/spinlock.h>
#include <linux/types.h>
#include <linux/wait.h>
#include "linux/ism.h"
+struct device;
struct sock;
#define SMC_MAX_PNETID_LEN 16 /* Max. length of PNET id */
@@ -16,7 +16,6 @@
#include <linux/cache.h>
#include <linux/snmp.h>
-#include <linux/smp.h>
/*
* Mibs are stored in array of unsigned long.
@@ -23,7 +23,6 @@
#include <linux/cache.h>
#include <linux/percpu.h>
#include <linux/skbuff.h>
-#include <linux/kref.h>
#include <linux/ktime.h>
#include <linux/indirect_call_wrapper.h>
#include <linux/hrtimer.h> // for hrtimer_try_to_cancel()
@@ -43,11 +42,12 @@
#include <net/dst.h>
#include <net/mptcp.h>
-#include <linux/seq_file.h>
#include <linux/memcontrol.h>
#include <linux/bpf-cgroup.h>
#include <linux/siphash.h>
+struct seq_file;
+
extern struct inet_hashinfo tcp_hashinfo;
DECLARE_PER_CPU(unsigned int, tcp_orphan_count);
@@ -26,10 +26,11 @@
#include <net/snmp.h>
#include <net/ip.h>
#include <linux/ipv6.h>
-#include <linux/seq_file.h>
#include <linux/poll.h>
#include <linux/indirect_call_wrapper.h>
+struct seq_file;
+
/**
* struct udp_skb_cb - UDP(-Lite) private variables
*
@@ -11,7 +11,6 @@
#include <linux/pfkeyv2.h>
#include <linux/ipsec.h>
#include <linux/in6.h>
-#include <linux/mutex.h>
#include <linux/audit.h>
#include <linux/slab.h>
#include <linux/refcount.h>
@@ -9,7 +9,6 @@
#include <linux/list.h>
#include <linux/scatterlist.h>
-#include <linux/workqueue.h>
#include <rdma/ib_verbs.h>
struct ib_ucontext;
@@ -12,7 +12,6 @@
#include <linux/completion.h>
#include <linux/sched/task.h>
#include <uapi/rdma/rdma_netlink.h>
-#include <linux/xarray.h>
struct ib_device;
struct sk_buff;
@@ -7,7 +7,6 @@
#include <linux/t10-pi.h>
#include <linux/list.h>
#include <linux/types.h>
-#include <linux/timer.h>
#include <linux/scatterlist.h>
#include <scsi/scsi_device.h>
@@ -11,6 +11,7 @@
#include <linux/blk-mq.h>
#include <scsi/scsi.h>
+struct seq_file;
struct block_device;
struct completion;
struct module;
@@ -11,7 +11,6 @@
#include <linux/sched.h> /* wake_up() */
#include <linux/mutex.h> /* struct mutex */
#include <linux/rwsem.h> /* struct rw_semaphore */
-#include <linux/pm.h> /* pm_message_t */
#include <linux/stringify.h>
#include <linux/printk.h>
#include <linux/wait.h>
@@ -9,8 +9,6 @@
#ifndef __ATMEL_LCDC_H__
#define __ATMEL_LCDC_H__
-#include <linux/workqueue.h>
-
/* Way LCD wires are connected to the chip:
* Some Atmel chips use BGR color mode (instead of standard RGB)
* A swapped wiring onboard can bring to RGB mode.
@@ -10,8 +10,6 @@
#ifndef __XEN_PUBLIC_MEMORY_H__
#define __XEN_PUBLIC_MEMORY_H__
-#include <linux/spinlock.h>
-
/*
* Increase or decrease the specified domain's memory reservation. Returns a
* -ve errcode on failure, or the # extents successfully allocated or freed.
@@ -36,7 +36,6 @@
#include <linux/device.h>
#include <linux/notifier.h>
-#include <linux/mutex.h>
#include <linux/export.h>
#include <linux/fs.h>
#include <linux/completion.h>