From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754914AbcARL71 (ORCPT ); Mon, 18 Jan 2016 06:59:27 -0500 Received: from smtp.citrix.com ([66.165.176.89]:10805 "EHLO SMTP.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754573AbcARL7Z (ORCPT ); Mon, 18 Jan 2016 06:59:25 -0500 X-IronPort-AV: E=Sophos;i="5.22,312,1449532800"; d="scan'208";a="325861401" Date: Mon, 18 Jan 2016 11:58:48 +0000 From: Stefano Stabellini X-X-Sender: sstabellini@kaball.uk.xensource.com To: Shannon Zhao CC: , , , , , , , , , , , , , Subject: Re: [Xen-devel] [PATCH v2 07/16] Xen: ARM: Add support for mapping AMBA device mmio In-Reply-To: <1452840929-19612-8-git-send-email-zhaoshenglong@huawei.com> Message-ID: References: <1452840929-19612-1-git-send-email-zhaoshenglong@huawei.com> <1452840929-19612-8-git-send-email-zhaoshenglong@huawei.com> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-DLP: MIA2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 15 Jan 2016, Shannon Zhao wrote: > From: Shannon Zhao > > Add a bus_notifier for AMBA bus device in order to map the device > mmio regions when DOM0 booting with ACPI. > > Signed-off-by: Shannon Zhao Reviewed-by: Stefano Stabellini > drivers/xen/arm-device.c | 43 +++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > > diff --git a/drivers/xen/arm-device.c b/drivers/xen/arm-device.c > index 7d902ea..9978f8d 100644 > --- a/drivers/xen/arm-device.c > +++ b/drivers/xen/arm-device.c > @@ -138,3 +138,46 @@ static int __init register_xen_platform_notifier(void) > } > > arch_initcall(register_xen_platform_notifier); > + > +#ifdef CONFIG_ARM_AMBA > +#include > + > +static int xen_amba_notifier(struct notifier_block *nb, > + unsigned long action, void *data) > +{ > + struct amba_device *adev = to_amba_device(data); > + int r = 0; > + > + switch (action) { > + case BUS_NOTIFY_ADD_DEVICE: > + r = xen_map_device_mmio(&adev->res, 1); > + break; > + case BUS_NOTIFY_DEL_DEVICE: > + r = xen_unmap_device_mmio(&adev->res, 1); > + break; > + default: > + return NOTIFY_DONE; > + } > + if (r) > + dev_err(&adev->dev, "AMBA: Failed to %s device %s MMIO!\n", > + action == BUS_NOTIFY_ADD_DEVICE ? "map" : > + (action == BUS_NOTIFY_DEL_DEVICE ? "unmap" : "?"), > + adev->dev.init_name); > + > + return NOTIFY_OK; > +} > + > +static struct notifier_block amba_device_nb = { > + .notifier_call = xen_amba_notifier, > +}; > + > +static int __init register_xen_amba_notifier(void) > +{ > + if (!xen_initial_domain() || acpi_disabled) > + return 0; > + > + return bus_register_notifier(&amba_bustype, &amba_device_nb); > +} > + > +arch_initcall(register_xen_amba_notifier); > +#endif > -- > 2.0.4 > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel >