From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751782AbbJLKRC (ORCPT ); Mon, 12 Oct 2015 06:17:02 -0400 Received: from www.linutronix.de ([62.245.132.108]:43797 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751426AbbJLKRA (ORCPT ); Mon, 12 Oct 2015 06:17:00 -0400 Date: Mon, 12 Oct 2015 12:16:19 +0200 (CEST) From: Thomas Gleixner To: Marc Zyngier cc: Markos Chandras , linux-mips@linux-mips.org, Alex Smith , Jason Cooper , linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/3] irqchip: irq-mips-gic: Provide function to map GIC user section In-Reply-To: <561B82BA.30809@arm.com> Message-ID: References: <1443435117-17144-1-git-send-email-markos.chandras@imgtec.com> <1444642843-16375-1-git-send-email-markos.chandras@imgtec.com> <561B82BA.30809@arm.com> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 12 Oct 2015, Marc Zyngier wrote: > On 12/10/15 10:40, Markos Chandras wrote: > > From: Alex Smith > > > > The GIC provides a "user-mode visible" section containing a mirror of > > the counter registers which can be mapped into user memory. This will > > be used by the VDSO time function implementations, so provide a > > function to map it in. > > This looks much better than the previous version (though I cannot find > the two other patches on LKML just yet). Yes, it looks better. But I really have to ask the question why we are trying to pack the world and somemore into an irq chip driver. We already have the completely misplaced gic_read_count() there. While I understand that all of this is in the GIC block at least according to the documentation, technically it's different hardware blocks. And logically its different as well. So why not describe the various blocks (interrupt controller, timer, shadow timer) as separate entities in the device tree and let each subsystem look them up on their own. This cross subsystem hackery is just horrible and does not buy anything except merge dependencies and other avoidable hassle. Thoughts? Thanks, tglx