linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Greg KH <gregkh@suse.de>, Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [GIT PATCH] more Driver core patches for 2.6.19
Date: Fri, 15 Dec 2006 00:37:42 +0100	[thread overview]
Message-ID: <1166139462.29505.155.camel@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.64.0612141458160.5718@woody.osdl.org>

Linus,

On Thu, 2006-12-14 at 14:59 -0800, Linus Torvalds wrote:
> > The kernel part of the UIO driver also knows how to shut the interrupt
> > up, so where is the difference ?
> 
> Thomas, you've been discussing some totally different and private 
> Thomas-only thread than everybody else in this thread has been.

Yeah, I even looked at different code than others, until they noticed
that email before coffee is bad. :)

> The point is NO, THE UIO DRIVER DID NOT KNOW THAT AT ALL. Go and read the 
> post that STARTED this whole thread. Go and read the "example driver". 
> 
> The example driver was complete crap and drivel. 

Sigh, I accept and also Greg has done this before, that the example
driver based on the LPT port was not a fortunate choice. It was done to
provide some example which is reproducible on COTS hardware. 

Real world drivers like the sercos example I provided - and I do it
again - are aware of that problem:

/*
 * The chip specific portion of the interrupt handler. The framework code
 * takes care of userspace notification when we return IRQ_HANDLED
 */
static irqreturn_t sercos_handler(int irq, void *dev_id, struct pt_regs *reg)
{
        /* Check, if this interrupt is originated from the SERCOS chip */
        if (!(sercos_read(IRQ_STATUS) & SERCOS_INTERRUPT_MASK))
                return IRQ_NONE;

---------^ Makes it safe for IRQ sharing

        /* Acknowledge the chip interrupts */
        sercos_write(IRQ_ACK1, SERCOS_INTERRUPT_ACK1);
        sercos_write(IRQ_ACK2, SERCOS_INTERRUPT_ACK2);

----------^
	Actually prevents the box is dead scenario, as it disables the
interrupt from that device until it is reenabled from the user space
driver code. This covers also the case where the user space driver dies,
as the kernel still has the portion of code to shut this thing up for
ever.
        return IRQ_HANDLED;
}

The concept requires, that 
- the interrupt handling is in the kernel _AND_ open source
- the mapping of the device is done via the kernel controlled mapping
function rather than by poking in the PCI regs

I really regret that I ever came up with this LPT example, but cutting
the whole discussion down to that ugly example driver does not get us
anywhere.

	tglx




  reply	other threads:[~2006-12-14 23:33 UTC|newest]

Thread overview: 201+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-13 19:52 [GIT PATCH] more Driver core patches for 2.6.19 Greg KH
     [not found] ` <1166039585152-git-send-email-greg@kroah.com>
     [not found]   ` <11660395913232-git-send-email-greg@kroah.com>
     [not found]     ` <11660395951158-git-send-email-greg@kroah.com>
     [not found]       ` <11660395998-git-send-email-greg@kroah.com>
2006-12-13 19:52         ` [PATCH 5/14] Driver core: show "initstate" of module Greg KH
2006-12-13 19:52           ` [PATCH 6/14] driver core: delete virtual directory on class_unregister() Greg KH
2006-12-13 19:52             ` [PATCH 7/14] DebugFS : inotify create/mkdir support Greg KH
2006-12-13 19:52               ` [PATCH 8/14] DebugFS : coding style fixes Greg KH
2006-12-13 19:53                 ` [PATCH 9/14] DebugFS : file/directory creation error handling Greg KH
2006-12-13 19:53                   ` [PATCH 10/14] DebugFS : more " Greg KH
2006-12-13 19:53                     ` [PATCH 11/14] DebugFS : file/directory removal fix Greg KH
2006-12-13 19:53                       ` [PATCH 12/14] Driver core: "platform_driver_probe() can save codespace": save codespace Greg KH
2006-12-13 19:53                         ` [PATCH 13/14] Driver core: Make platform_device_add_data accept a const pointer Greg KH
2006-12-13 19:53                           ` [PATCH 14/14] Driver core: deprecate PM_LEGACY, default it to N Greg KH
2006-12-13 20:12 ` [GIT PATCH] more Driver core patches for 2.6.19 Linus Torvalds
2006-12-13 20:31   ` Greg KH
2006-12-13 20:58     ` Linus Torvalds
2006-12-13 21:08       ` Linus Torvalds
2006-12-13 21:15         ` Arjan van de Ven
2006-12-14  9:30           ` Muli Ben-Yehuda
2006-12-14 10:13             ` Hans-Jürgen Koch
2006-12-13 21:36       ` Thomas Gleixner
2006-12-13 21:46       ` Benjamin Herrenschmidt
2006-12-13 23:40       ` Greg KH
2006-12-14  8:49       ` Duncan Sands
2006-12-14  9:56         ` Hans-Jürgen Koch
2006-12-14 11:51           ` Olivier Galibert
2006-12-14 12:45             ` Hans-Jürgen Koch
2006-12-14 19:16               ` Olivier Galibert
2006-12-14 12:39           ` Alan
2006-12-14 13:08             ` Hans-Jürgen Koch
2006-12-14 17:02           ` Jan Engelhardt
2006-12-14 17:17             ` Hans-Jürgen Koch
2006-12-14 17:57               ` Jan Engelhardt
2006-12-16 20:13             ` Lee Revell
2006-12-16 20:28               ` Jan Engelhardt
2006-12-14 17:34           ` Bernd Petrovitsch
2006-12-14 17:47             ` Hans-Jürgen Koch
2006-12-14 17:59               ` Bernd Petrovitsch
2006-12-14 12:27         ` James Courtier-Dutton
2006-12-13 20:38   ` Michael K. Edwards
2006-12-13 21:02     ` Greg KH
2006-12-13 21:32       ` Martin Bligh
2006-12-13 21:47         ` Andrew Morton
2006-12-13 22:09           ` GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] Greg KH
2006-12-14  0:32             ` Greg KH
2006-12-14  0:43               ` Jonathan Corbet
2006-12-14  0:55                 ` Greg KH
2006-12-14  1:00                   ` Linus Torvalds
2006-12-14  1:08                     ` Michael K. Edwards
2006-12-14  1:30                   ` Grzegorz Kulewski
2006-12-14  1:58                     ` Greg KH
2006-12-14  4:15                   ` Linus Torvalds
2006-12-14  5:39                     ` Martin J. Bligh
2006-12-14  6:01                       ` Hua Zhong
2006-12-14 11:14                         ` Alan
2006-12-14 11:31                           ` Hans-Jürgen Koch
2006-12-14 12:42                             ` Alan
2006-12-14 12:54                               ` Hans-Jürgen Koch
2006-12-14 16:59                                 ` Greg KH
2006-12-14 18:26                                   ` Alan
2006-12-14 21:16                                     ` Greg KH
2006-12-14 12:55                               ` Jan Engelhardt
2006-12-14 13:10                                 ` Arjan van de Ven
2006-12-14 17:17                                   ` Jan Engelhardt
2006-12-17 10:54                                     ` Geert Uytterhoeven
2006-12-14  8:03                       ` James Morris
2006-12-14 15:39                         ` Adrian Bunk
2006-12-14 20:08                           ` David Schwartz
2006-12-15 14:05                             ` Paolo Ornati
2006-12-17 10:11                             ` Geert Uytterhoeven
2006-12-17 10:56                               ` Rafael J. Wysocki
2006-12-19 12:57                               ` Marek Wawrzyczny
2006-12-19 13:56                                 ` Diego Calleja
2006-12-19 16:46                                   ` Gene Heskett
2006-12-19 17:11                                     ` Bill Nottingham
2006-12-19 17:24                                       ` Gene Heskett
2006-12-19 17:13                                     ` Diego Calleja
2006-12-20  5:11                                 ` Valdis.Kletnieks
2006-12-20 19:29                                   ` David Schwartz
2006-12-20 20:52                                     ` Valdis.Kletnieks
2006-12-20 21:10                                       ` alan
2006-12-21 15:34                                   ` Marek Wawrzyczny
2006-12-21 16:43                                     ` Horst H. von Brand
2006-12-21 19:28                                     ` Valdis.Kletnieks
2006-12-24  3:11                                       ` Horst H. von Brand
2006-12-20  4:27                               ` Steven Rostedt
2006-12-14 13:07                       ` Dave Jones
2006-12-14 15:05                         ` Adrian Bunk
2006-12-14 16:11                           ` Dave Jones
2006-12-14 16:31                             ` Olivier Galibert
2006-12-14 15:36                         ` Martin J. Bligh
2006-12-14 17:20                         ` Jan Engelhardt
2006-12-14 14:12                       ` Ben Collins
2006-12-14 15:10                         ` James Courtier-Dutton
2006-12-14 16:09                           ` Dave Jones
2006-12-14 16:36                           ` Ben Collins
2006-12-14 17:34                         ` Jan Engelhardt
2006-12-14 19:29                         ` Michael Buesch
2006-12-14 20:19                           ` Ben Collins
2006-12-14  7:24                     ` Jeffrey V. Merkey
2006-12-14  8:21                     ` David Woodhouse
2006-12-14 11:25                       ` Alan
2007-01-22 23:37                         ` dfsg isn't fsf (Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]) Oleg Verych
2006-12-14 14:53                       ` GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] Theodore Tso
2006-12-14 16:52                       ` Linus Torvalds
2006-12-14 17:33                         ` Jeff V. Merkey
2006-12-14 18:01                           ` Martin J. Bligh
2006-12-14 18:12                             ` Jeff V. Merkey
2006-12-14 18:37                               ` Linus Torvalds
2006-12-14 18:30                                 ` Jeff V. Merkey
2006-12-14  9:34                     ` James Courtier-Dutton
2006-12-24 11:57                       ` Mark Hounschell
2006-12-24 13:22                         ` Sean
2006-12-24 14:42                           ` Mark Hounschell
2006-12-14 10:49                     ` Xavier Bestel
2006-12-14 13:04                     ` Dave Jones
2006-12-14 13:46                     ` Ben Collins
2006-12-14 17:21                       ` Jan Engelhardt
2006-12-14 17:49                         ` Ben Collins
2006-12-14 15:46                     ` Jeff Garzik
2006-12-14 17:03                       ` Linus Torvalds
2006-12-14 17:08                         ` Chris Wedgwood
2006-12-14 17:38                           ` Christoph Hellwig
2006-12-14 17:52                             ` Chris Wedgwood
2006-12-14 18:09                               ` Jan Engelhardt
2006-12-18 10:28                                 ` GPL only modules Eric W. Biederman
2006-12-14 18:15                               ` GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] Eric Sandeen
2006-12-14 18:39                                 ` Chris Wedgwood
2006-12-14 18:51                                   ` Linus Torvalds
2006-12-14 19:42                                   ` Scott Preece
2006-12-14 19:34                                     ` Jeff V. Merkey
2006-12-15  5:28                                       ` GPL only modules Alexandre Oliva
2006-12-15 10:13                                       ` GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] Eduard Bloch
2006-12-15 17:44                                       ` Dave Neuer
2006-12-18 10:55                                       ` Eric W. Biederman
2006-12-18 17:05                                         ` Jeff V. Merkey
2006-12-14 19:49                                     ` Hua Zhong
2006-12-17 10:57                             ` Geert Uytterhoeven
2006-12-14 16:17                     ` Adrian Bunk
2006-12-14 16:33                       ` Alan
2006-12-14 16:54                         ` Adrian Bunk
2006-12-14 17:17                         ` Theodore Tso
2006-12-14 18:18                           ` Alan
2006-12-14 19:51                           ` Adrian Bunk
2006-12-21 15:38                             ` Pavel Machek
2006-12-23 11:24                               ` Adrian Bunk
2006-12-23 21:36                                 ` Pavel Machek
2006-12-24  1:07                                   ` Adrian Bunk
2006-12-19 15:12                     ` free module selection Markus Elfring
2006-12-14  5:10                   ` GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] Bill Nottingham
2006-12-14  8:48                     ` Greg KH
2006-12-14 14:02                       ` Rik van Riel
2006-12-14 15:42                         ` Chris Friesen
2006-12-14 15:47                         ` Alan
2006-12-14 15:48                           ` Jeff Garzik
2006-12-14 22:21                             ` Dave Airlie
2006-12-14 22:26                               ` Michael Buesch
2006-12-14 22:39                                 ` Dave Airlie
2006-12-14 22:45                                   ` Michael Buesch
2006-12-14 19:32                         ` Bill Nottingham
2006-12-14  5:58                   ` Nigel Cunningham
2006-12-14  7:54                   ` David Schwartz
2006-12-14  8:21                   ` David Woodhouse
2006-12-14 10:36                 ` Alan
2006-12-14 14:57                   ` Adrian Bunk
2006-12-24 14:27               ` Pavel Machek
2006-12-24 19:59                 ` Dmitry Torokhov
2006-12-13 22:20           ` [GIT PATCH] more Driver core patches for 2.6.19 Michael K. Edwards
2006-12-13 22:59             ` Kyle Moffett
2006-12-13 23:55             ` Alan
2006-12-14  2:11               ` Al Viro
2006-12-14 17:22               ` Linus Torvalds
2006-12-14 15:13             ` Rik van Riel
2006-12-13 21:48       ` Michael K. Edwards
2006-12-13 21:03     ` Linus Torvalds
2006-12-16  9:05       ` Pavel Machek
2006-12-16 11:04         ` Jörn Engel
2006-12-17 10:49           ` Pavel Machek
2006-12-13 21:14   ` Benjamin Herrenschmidt
2006-12-13 21:22     ` Jan Engelhardt
2006-12-13 23:28       ` Linus Torvalds
2006-12-14 11:18         ` Jan Engelhardt
2006-12-14 11:26           ` Jan Engelhardt
2006-12-14 17:32             ` Linus Torvalds
2006-12-14 18:04               ` Jan Engelhardt
2006-12-14 17:26           ` Linus Torvalds
2006-12-14 20:47             ` Thomas Gleixner
2006-12-14 22:59               ` Linus Torvalds
2006-12-14 23:37                 ` Thomas Gleixner [this message]
2006-12-13 21:26     ` Linus Torvalds
2006-12-13 22:14       ` Benjamin Herrenschmidt
2006-12-13 22:30         ` Thomas Gleixner
2006-12-13 22:39           ` Benjamin Herrenschmidt
2006-12-13 23:11             ` Thomas Gleixner
2006-12-13 23:39               ` Michael K. Edwards
2006-12-14  0:00               ` Alan
2006-12-13 23:56           ` Alan
2006-12-14  0:08             ` Greg KH
2006-12-14  9:15             ` Thomas Gleixner
2006-12-14 11:33               ` Alan
2006-12-13 22:40         ` Thomas Gleixner
2006-12-13 22:45           ` Benjamin Herrenschmidt
2006-12-13 23:15             ` Thomas Gleixner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1166139462.29505.155.camel@localhost.localdomain \
    --to=tglx@linutronix.de \
    --cc=akpm@osdl.org \
    --cc=benh@kernel.crashing.org \
    --cc=gregkh@suse.de \
    --cc=jengelh@linux01.gwdg.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).