lkml.org 
[lkml]   [2017]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Commit-ID:  5f432711ba94400fb39e9be81913ced81c141758
    Gitweb: http://git.kernel.org/tip/5f432711ba94400fb39e9be81913ced81c141758
    Author: Thomas Gleixner <tglx@linutronix.de>
    AuthorDate: Tue, 20 Jun 2017 01:37:08 +0200
    Committer: Thomas Gleixner <tglx@linutronix.de>
    CommitDate: Thu, 22 Jun 2017 18:21:09 +0200

    x86/htirq: Create named domain

    Use the fwnode to create a named domain so diagnosis works.

    Mark the init function __init while at it.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Keith Busch <keith.busch@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Christoph Hellwig <hch@lst.de>
    Link: http://lkml.kernel.org/r/20170619235443.829047007@linutronix.de
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

    ---
    arch/x86/kernel/apic/htirq.c | 21 ++++++++++++++++-----
    1 file changed, 16 insertions(+), 5 deletions(-)

    diff --git a/arch/x86/kernel/apic/htirq.c b/arch/x86/kernel/apic/htirq.c
    index ae50d34..56ccf93 100644
    --- a/arch/x86/kernel/apic/htirq.c
    +++ b/arch/x86/kernel/apic/htirq.c
    @@ -150,16 +150,27 @@ static const struct irq_domain_ops htirq_domain_ops = {
    .deactivate = htirq_domain_deactivate,
    };

    -void arch_init_htirq_domain(struct irq_domain *parent)
    +void __init arch_init_htirq_domain(struct irq_domain *parent)
    {
    + struct fwnode_handle *fn;
    +
    if (disable_apic)
    return;

    - htirq_domain = irq_domain_add_tree(NULL, &htirq_domain_ops, NULL);
    + fn = irq_domain_alloc_named_fwnode("PCI-HT");
    + if (!fn)
    + goto warn;
    +
    + htirq_domain = irq_domain_create_tree(fn, &htirq_domain_ops, NULL);
    + irq_domain_free_fwnode(fn);
    if (!htirq_domain)
    - pr_warn("failed to initialize irqdomain for HTIRQ.\n");
    - else
    - htirq_domain->parent = parent;
    + goto warn;
    +
    + htirq_domain->parent = parent;
    + return;
    +
    +warn:
    + pr_warn("Failed to initialize irqdomain for HTIRQ.\n");
    }

    int arch_setup_ht_irq(int idx, int pos, struct pci_dev *dev,
    \
     
     \ /
      Last update: 2017-06-22 20:04    [W:4.299 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site