Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Tue, Oct 16, 2012 at 09:25:11AM +, Arnd Bergmann wrote: > On Tuesday 16 October 2012, Mark Brown wrote: > > That'd work, but I assume there is some reason why we've got this system > > of explicitly adding each file. It's not like cpp can test for the > > presence of include files. If we can't figure out why we're not doing > > this I'd propose we start. > We discussed renaming asm-generic to asm before, but some people objected > to the use of #include_next. There is a smaller problem with opening the > asm/*.h namespace to header files that are not relevant for architctures, > so I'd prefer to have a well-defined list of headers that are implicitly > shared, but it's not a technical argument. Perhaps what we need here is a more elegantly named asm-default-implementation which is for the headers which almost every architecture should be using (like clk and gpio) since the APIs should be at least stubbed in order to avoid making the architecture terminally annoying. Alternatively we go to the gpiolib approach where I just made architectures that want to do fun stuff select a Kconfig symbol and otherwise the default is directly in the linux/ header. This was massively easier to deploy all round. The case where the current situation is really annoying is the case where we want to allow some sort of performance optimisation in something that's normally there and probably doesn't need it; right now the cost is on the API users to convince every single architecture maintainer to adopt the API. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Tuesday 16 October 2012, Mark Brown wrote: > On Tue, Oct 16, 2012 at 12:18:05AM +0200, Frederic Weisbecker wrote: > > I came up with stuff for it, though it needed prettyfying. > > > This seems to do the trick: > > > (It's the diff result of ln -s asm-generic include/asm) Unfortunately, this is not enough, it breaks "make headers_install", which now needs to decide whether to install a header that is present in the architecture directory, or to copy one from the asm-generic directory otherwise. On the plus side, the symlink breaks checking into CVS and cross-building from operating systems that don't support posix file systems, so we might want to do this anyway. ;-) > That'd work, but I assume there is some reason why we've got this system > of explicitly adding each file. It's not like cpp can test for the > presence of include files. If we can't figure out why we're not doing > this I'd propose we start. We discussed renaming asm-generic to asm before, but some people objected to the use of #include_next. There is a smaller problem with opening the asm/*.h namespace to header files that are not relevant for architctures, so I'd prefer to have a well-defined list of headers that are implicitly shared, but it's not a technical argument. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Tuesday 16 October 2012, Mark Brown wrote: On Tue, Oct 16, 2012 at 12:18:05AM +0200, Frederic Weisbecker wrote: I came up with stuff for it, though it needed prettyfying. This seems to do the trick: (It's the diff result of ln -s asm-generic include/asm) Unfortunately, this is not enough, it breaks make headers_install, which now needs to decide whether to install a header that is present in the architecture directory, or to copy one from the asm-generic directory otherwise. On the plus side, the symlink breaks checking into CVS and cross-building from operating systems that don't support posix file systems, so we might want to do this anyway. ;-) That'd work, but I assume there is some reason why we've got this system of explicitly adding each file. It's not like cpp can test for the presence of include files. If we can't figure out why we're not doing this I'd propose we start. We discussed renaming asm-generic to asm before, but some people objected to the use of #include_next. There is a smaller problem with opening the asm/*.h namespace to header files that are not relevant for architctures, so I'd prefer to have a well-defined list of headers that are implicitly shared, but it's not a technical argument. Arnd -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Tue, Oct 16, 2012 at 09:25:11AM +, Arnd Bergmann wrote: On Tuesday 16 October 2012, Mark Brown wrote: That'd work, but I assume there is some reason why we've got this system of explicitly adding each file. It's not like cpp can test for the presence of include files. If we can't figure out why we're not doing this I'd propose we start. We discussed renaming asm-generic to asm before, but some people objected to the use of #include_next. There is a smaller problem with opening the asm/*.h namespace to header files that are not relevant for architctures, so I'd prefer to have a well-defined list of headers that are implicitly shared, but it's not a technical argument. Perhaps what we need here is a more elegantly named asm-default-implementation which is for the headers which almost every architecture should be using (like clk and gpio) since the APIs should be at least stubbed in order to avoid making the architecture terminally annoying. Alternatively we go to the gpiolib approach where I just made architectures that want to do fun stuff select a Kconfig symbol and otherwise the default is directly in the linux/ header. This was massively easier to deploy all round. The case where the current situation is really annoying is the case where we want to allow some sort of performance optimisation in something that's normally there and probably doesn't need it; right now the cost is on the API users to convince every single architecture maintainer to adopt the API. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Tue, Oct 16, 2012 at 12:18:05AM +0200, Frederic Weisbecker wrote: > 2012/10/15 Arnd Bergmann : > > On Monday 15 October 2012, Steven Rostedt wrote: > >> On Mon, 2012-10-15 at 22:23 +0200, Frederic Weisbecker wrote: > >> > 2012/10/15 Steven Rostedt : > >> > > On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: > >> > > BTW, is there any rational reason that the include path lookup doesn't > >> > > just check for the files in include/asm-generic after looking in > >> > > arch/*/include/asm? > >> > > Really, the best way would be just to add the default asm files into > >> > > include/asm-generic and be done with it. I hate the fact that we need > >> > > to > >> > > touch every arch for every generic default file. > >> > Agreed. I'm including Arnd in the conversation. > >> As David Howells is doing user space header work, I'll include him too. > >> Maybe someone can shed some light onto this. I'll just add my vote there, I've *no* idea why asm-generic isn't in the include path by default, I could never figure out what that was for. > > A number of people have expressed the wish to do this through Makefile > > magic, but > > so far nobody has been able to come up with the right incantation. > > > > I've spent a day trying to figure it out, and I think Mark Brown tried some > > of > > the same things. It's probably not all that hard for someone who is more > > familiar > > with the Kbuild internals. I came up with stuff for it, though it needed prettyfying. > This seems to do the trick: > (It's the diff result of ln -s asm-generic include/asm) That'd work, but I assume there is some reason why we've got this system of explicitly adding each file. It's not like cpp can test for the presence of include files. If we can't figure out why we're not doing this I'd propose we start. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
2012/10/15 Arnd Bergmann : > On Monday 15 October 2012, Steven Rostedt wrote: >> On Mon, 2012-10-15 at 22:23 +0200, Frederic Weisbecker wrote: >> > 2012/10/15 Steven Rostedt : >> > > On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: >> > > BTW, is there any rational reason that the include path lookup doesn't >> > > just check for the files in include/asm-generic after looking in >> > > arch/*/include/asm? >> > > >> > > Really, the best way would be just to add the default asm files into >> > > include/asm-generic and be done with it. I hate the fact that we need to >> > > touch every arch for every generic default file. >> > >> > Agreed. I'm including Arnd in the conversation. >> >> As David Howells is doing user space header work, I'll include him too. >> Maybe someone can shed some light onto this. >> > > A number of people have expressed the wish to do this through Makefile magic, > but > so far nobody has been able to come up with the right incantation. > > I've spent a day trying to figure it out, and I think Mark Brown tried some of > the same things. It's probably not all that hard for someone who is more > familiar > with the Kbuild internals. This seems to do the trick: (It's the diff result of ln -s asm-generic include/asm) diff --git a/include/asm b/include/asm new file mode 12 index 000..86e8787 --- /dev/null +++ b/include/asm @@ -0,0 +1 @@ +asm-generic/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Monday 15 October 2012, Steven Rostedt wrote: > On Mon, 2012-10-15 at 22:23 +0200, Frederic Weisbecker wrote: > > 2012/10/15 Steven Rostedt : > > > On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: > > > BTW, is there any rational reason that the include path lookup doesn't > > > just check for the files in include/asm-generic after looking in > > > arch/*/include/asm? > > > > > > Really, the best way would be just to add the default asm files into > > > include/asm-generic and be done with it. I hate the fact that we need to > > > touch every arch for every generic default file. > > > > Agreed. I'm including Arnd in the conversation. > > As David Howells is doing user space header work, I'll include him too. > Maybe someone can shed some light onto this. > A number of people have expressed the wish to do this through Makefile magic, but so far nobody has been able to come up with the right incantation. I've spent a day trying to figure it out, and I think Mark Brown tried some of the same things. It's probably not all that hard for someone who is more familiar with the Kbuild internals. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Mon, 2012-10-15 at 22:23 +0200, Frederic Weisbecker wrote: > 2012/10/15 Steven Rostedt : > > On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: > >> On 12 October 2012 19:09, Frederic Weisbecker wrote: > >> > diff --git a/arch/arm/include/asm/irq_work.h > >> > b/arch/arm/include/asm/irq_work.h > >> > new file mode 100644 > >> > index 000..f1bffa2 > >> > --- /dev/null > >> > +++ b/arch/arm/include/asm/irq_work.h > >> > @@ -0,0 +1 @@ > >> > +#include > >> > diff --git a/arch/arm64/include/asm/irq_work.h > >> > b/arch/arm64/include/asm/irq_work.h > >> > new file mode 100644 > >> > index 000..f1bffa2 > >> > --- /dev/null > >> > +++ b/arch/arm64/include/asm/irq_work.h > >> > @@ -0,0 +1 @@ > >> > +#include > >> > >> Just add generic-y += irq_work.h to arch/*/include/asm/Kbuild to avoid > >> creating new files. > >> > > > > BTW, is there any rational reason that the include path lookup doesn't > > just check for the files in include/asm-generic after looking in > > arch/*/include/asm? > > > > Really, the best way would be just to add the default asm files into > > include/asm-generic and be done with it. I hate the fact that we need to > > touch every arch for every generic default file. > > Agreed. I'm including Arnd in the conversation. As David Howells is doing user space header work, I'll include him too. Maybe someone can shed some light onto this. -- Steve > > > > > I'd be willing to take a look at fixing this too, when I get a chance. > > > > -- Steve > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
2012/10/15 Steven Rostedt : > On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: >> On 12 October 2012 19:09, Frederic Weisbecker wrote: >> > diff --git a/arch/arm/include/asm/irq_work.h >> > b/arch/arm/include/asm/irq_work.h >> > new file mode 100644 >> > index 000..f1bffa2 >> > --- /dev/null >> > +++ b/arch/arm/include/asm/irq_work.h >> > @@ -0,0 +1 @@ >> > +#include >> > diff --git a/arch/arm64/include/asm/irq_work.h >> > b/arch/arm64/include/asm/irq_work.h >> > new file mode 100644 >> > index 000..f1bffa2 >> > --- /dev/null >> > +++ b/arch/arm64/include/asm/irq_work.h >> > @@ -0,0 +1 @@ >> > +#include >> >> Just add generic-y += irq_work.h to arch/*/include/asm/Kbuild to avoid >> creating new files. >> > > BTW, is there any rational reason that the include path lookup doesn't > just check for the files in include/asm-generic after looking in > arch/*/include/asm? > > Really, the best way would be just to add the default asm files into > include/asm-generic and be done with it. I hate the fact that we need to > touch every arch for every generic default file. Agreed. I'm including Arnd in the conversation. > > I'd be willing to take a look at fixing this too, when I get a chance. > > -- Steve > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: > On 12 October 2012 19:09, Frederic Weisbecker wrote: > > diff --git a/arch/arm/include/asm/irq_work.h > > b/arch/arm/include/asm/irq_work.h > > new file mode 100644 > > index 000..f1bffa2 > > --- /dev/null > > +++ b/arch/arm/include/asm/irq_work.h > > @@ -0,0 +1 @@ > > +#include > > diff --git a/arch/arm64/include/asm/irq_work.h > > b/arch/arm64/include/asm/irq_work.h > > new file mode 100644 > > index 000..f1bffa2 > > --- /dev/null > > +++ b/arch/arm64/include/asm/irq_work.h > > @@ -0,0 +1 @@ > > +#include > > Just add generic-y += irq_work.h to arch/*/include/asm/Kbuild to avoid > creating new files. > BTW, is there any rational reason that the include path lookup doesn't just check for the files in include/asm-generic after looking in arch/*/include/asm? Really, the best way would be just to add the default asm files into include/asm-generic and be done with it. I hate the fact that we need to touch every arch for every generic default file. I'd be willing to take a look at fixing this too, when I get a chance. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On 12 October 2012 19:09, Frederic Weisbecker wrote: > diff --git a/arch/arm/include/asm/irq_work.h b/arch/arm/include/asm/irq_work.h > new file mode 100644 > index 000..f1bffa2 > --- /dev/null > +++ b/arch/arm/include/asm/irq_work.h > @@ -0,0 +1 @@ > +#include > diff --git a/arch/arm64/include/asm/irq_work.h > b/arch/arm64/include/asm/irq_work.h > new file mode 100644 > index 000..f1bffa2 > --- /dev/null > +++ b/arch/arm64/include/asm/irq_work.h > @@ -0,0 +1 @@ > +#include Just add generic-y += irq_work.h to arch/*/include/asm/Kbuild to avoid creating new files. -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On 12 October 2012 19:09, Frederic Weisbecker fweis...@gmail.com wrote: diff --git a/arch/arm/include/asm/irq_work.h b/arch/arm/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/arm64/include/asm/irq_work.h b/arch/arm64/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm64/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h Just add generic-y += irq_work.h to arch/*/include/asm/Kbuild to avoid creating new files. -- Catalin -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: On 12 October 2012 19:09, Frederic Weisbecker fweis...@gmail.com wrote: diff --git a/arch/arm/include/asm/irq_work.h b/arch/arm/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/arm64/include/asm/irq_work.h b/arch/arm64/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm64/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h Just add generic-y += irq_work.h to arch/*/include/asm/Kbuild to avoid creating new files. BTW, is there any rational reason that the include path lookup doesn't just check for the files in include/asm-generic after looking in arch/*/include/asm? Really, the best way would be just to add the default asm files into include/asm-generic and be done with it. I hate the fact that we need to touch every arch for every generic default file. I'd be willing to take a look at fixing this too, when I get a chance. -- Steve -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
2012/10/15 Steven Rostedt rost...@goodmis.org: On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: On 12 October 2012 19:09, Frederic Weisbecker fweis...@gmail.com wrote: diff --git a/arch/arm/include/asm/irq_work.h b/arch/arm/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/arm64/include/asm/irq_work.h b/arch/arm64/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm64/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h Just add generic-y += irq_work.h to arch/*/include/asm/Kbuild to avoid creating new files. BTW, is there any rational reason that the include path lookup doesn't just check for the files in include/asm-generic after looking in arch/*/include/asm? Really, the best way would be just to add the default asm files into include/asm-generic and be done with it. I hate the fact that we need to touch every arch for every generic default file. Agreed. I'm including Arnd in the conversation. I'd be willing to take a look at fixing this too, when I get a chance. -- Steve -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Mon, 2012-10-15 at 22:23 +0200, Frederic Weisbecker wrote: 2012/10/15 Steven Rostedt rost...@goodmis.org: On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: On 12 October 2012 19:09, Frederic Weisbecker fweis...@gmail.com wrote: diff --git a/arch/arm/include/asm/irq_work.h b/arch/arm/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/arm64/include/asm/irq_work.h b/arch/arm64/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm64/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h Just add generic-y += irq_work.h to arch/*/include/asm/Kbuild to avoid creating new files. BTW, is there any rational reason that the include path lookup doesn't just check for the files in include/asm-generic after looking in arch/*/include/asm? Really, the best way would be just to add the default asm files into include/asm-generic and be done with it. I hate the fact that we need to touch every arch for every generic default file. Agreed. I'm including Arnd in the conversation. As David Howells is doing user space header work, I'll include him too. Maybe someone can shed some light onto this. -- Steve I'd be willing to take a look at fixing this too, when I get a chance. -- Steve -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Monday 15 October 2012, Steven Rostedt wrote: On Mon, 2012-10-15 at 22:23 +0200, Frederic Weisbecker wrote: 2012/10/15 Steven Rostedt rost...@goodmis.org: On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: BTW, is there any rational reason that the include path lookup doesn't just check for the files in include/asm-generic after looking in arch/*/include/asm? Really, the best way would be just to add the default asm files into include/asm-generic and be done with it. I hate the fact that we need to touch every arch for every generic default file. Agreed. I'm including Arnd in the conversation. As David Howells is doing user space header work, I'll include him too. Maybe someone can shed some light onto this. A number of people have expressed the wish to do this through Makefile magic, but so far nobody has been able to come up with the right incantation. I've spent a day trying to figure it out, and I think Mark Brown tried some of the same things. It's probably not all that hard for someone who is more familiar with the Kbuild internals. Arnd -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
2012/10/15 Arnd Bergmann a...@arndb.de: On Monday 15 October 2012, Steven Rostedt wrote: On Mon, 2012-10-15 at 22:23 +0200, Frederic Weisbecker wrote: 2012/10/15 Steven Rostedt rost...@goodmis.org: On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: BTW, is there any rational reason that the include path lookup doesn't just check for the files in include/asm-generic after looking in arch/*/include/asm? Really, the best way would be just to add the default asm files into include/asm-generic and be done with it. I hate the fact that we need to touch every arch for every generic default file. Agreed. I'm including Arnd in the conversation. As David Howells is doing user space header work, I'll include him too. Maybe someone can shed some light onto this. A number of people have expressed the wish to do this through Makefile magic, but so far nobody has been able to come up with the right incantation. I've spent a day trying to figure it out, and I think Mark Brown tried some of the same things. It's probably not all that hard for someone who is more familiar with the Kbuild internals. This seems to do the trick: (It's the diff result of ln -s asm-generic include/asm) diff --git a/include/asm b/include/asm new file mode 12 index 000..86e8787 --- /dev/null +++ b/include/asm @@ -0,0 +1 @@ +asm-generic/ -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
On Tue, Oct 16, 2012 at 12:18:05AM +0200, Frederic Weisbecker wrote: 2012/10/15 Arnd Bergmann a...@arndb.de: On Monday 15 October 2012, Steven Rostedt wrote: On Mon, 2012-10-15 at 22:23 +0200, Frederic Weisbecker wrote: 2012/10/15 Steven Rostedt rost...@goodmis.org: On Mon, 2012-10-15 at 17:11 +0100, Catalin Marinas wrote: BTW, is there any rational reason that the include path lookup doesn't just check for the files in include/asm-generic after looking in arch/*/include/asm? Really, the best way would be just to add the default asm files into include/asm-generic and be done with it. I hate the fact that we need to touch every arch for every generic default file. Agreed. I'm including Arnd in the conversation. As David Howells is doing user space header work, I'll include him too. Maybe someone can shed some light onto this. I'll just add my vote there, I've *no* idea why asm-generic isn't in the include path by default, I could never figure out what that was for. A number of people have expressed the wish to do this through Makefile magic, but so far nobody has been able to come up with the right incantation. I've spent a day trying to figure it out, and I think Mark Brown tried some of the same things. It's probably not all that hard for someone who is more familiar with the Kbuild internals. I came up with stuff for it, though it needed prettyfying. This seems to do the trick: (It's the diff result of ln -s asm-generic include/asm) That'd work, but I assume there is some reason why we've got this system of explicitly adding each file. It's not like cpp can test for the presence of include files. If we can't figure out why we're not doing this I'd propose we start. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
This optimization doesn't matter much. But this prepares the arch headers that we need to add a new API in order to detect when the arch hooks on the tick to implement the irq work. This is necessary later to make printk working in nohz CPUs. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Andrew Morton Cc: Steven Rostedt --- arch/alpha/include/asm/irq_work.h|6 ++ arch/arm/include/asm/irq_work.h |1 + arch/arm64/include/asm/irq_work.h|1 + arch/blackfin/include/asm/irq_work.h |1 + arch/frv/include/asm/irq_work.h |1 + arch/hexagon/include/asm/irq_work.h |1 + arch/mips/include/asm/irq_work.h |1 + arch/parisc/include/asm/irq_work.h |1 + arch/powerpc/include/asm/irq_work.h |6 ++ arch/s390/include/asm/irq_work.h |1 + arch/sh/include/asm/irq_work.h |1 + arch/sparc/include/asm/irq_work.h|6 ++ arch/x86/include/asm/irq_work.h | 10 ++ arch/x86/kernel/irq_work.c |4 ++-- include/asm-generic/irq_work.h |9 + include/linux/irq_work.h |1 + kernel/irq_work.c|7 --- 17 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 arch/alpha/include/asm/irq_work.h create mode 100644 arch/arm/include/asm/irq_work.h create mode 100644 arch/arm64/include/asm/irq_work.h create mode 100644 arch/blackfin/include/asm/irq_work.h create mode 100644 arch/frv/include/asm/irq_work.h create mode 100644 arch/hexagon/include/asm/irq_work.h create mode 100644 arch/mips/include/asm/irq_work.h create mode 100644 arch/parisc/include/asm/irq_work.h create mode 100644 arch/powerpc/include/asm/irq_work.h create mode 100644 arch/s390/include/asm/irq_work.h create mode 100644 arch/sh/include/asm/irq_work.h create mode 100644 arch/sparc/include/asm/irq_work.h create mode 100644 arch/x86/include/asm/irq_work.h create mode 100644 include/asm-generic/irq_work.h diff --git a/arch/alpha/include/asm/irq_work.h b/arch/alpha/include/asm/irq_work.h new file mode 100644 index 000..814ff3d --- /dev/null +++ b/arch/alpha/include/asm/irq_work.h @@ -0,0 +1,6 @@ +#ifndef _ALPHA_IRQ_WORK_H +#define _ALPHA_IRQ_WORK_H + +extern void arch_irq_work_raise(void); + +#endif diff --git a/arch/arm/include/asm/irq_work.h b/arch/arm/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm/include/asm/irq_work.h @@ -0,0 +1 @@ +#include diff --git a/arch/arm64/include/asm/irq_work.h b/arch/arm64/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm64/include/asm/irq_work.h @@ -0,0 +1 @@ +#include diff --git a/arch/blackfin/include/asm/irq_work.h b/arch/blackfin/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/blackfin/include/asm/irq_work.h @@ -0,0 +1 @@ +#include diff --git a/arch/frv/include/asm/irq_work.h b/arch/frv/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/frv/include/asm/irq_work.h @@ -0,0 +1 @@ +#include diff --git a/arch/hexagon/include/asm/irq_work.h b/arch/hexagon/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/hexagon/include/asm/irq_work.h @@ -0,0 +1 @@ +#include diff --git a/arch/mips/include/asm/irq_work.h b/arch/mips/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/mips/include/asm/irq_work.h @@ -0,0 +1 @@ +#include diff --git a/arch/parisc/include/asm/irq_work.h b/arch/parisc/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/parisc/include/asm/irq_work.h @@ -0,0 +1 @@ +#include diff --git a/arch/powerpc/include/asm/irq_work.h b/arch/powerpc/include/asm/irq_work.h new file mode 100644 index 000..8b9927f --- /dev/null +++ b/arch/powerpc/include/asm/irq_work.h @@ -0,0 +1,6 @@ +#ifndef _ASM_POWERPC_IRQ_WORK_H +#define _ASM_POWERPC_IRQ_WORK_H + +extern void arch_irq_work_raise(void); + +#endif diff --git a/arch/s390/include/asm/irq_work.h b/arch/s390/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/s390/include/asm/irq_work.h @@ -0,0 +1 @@ +#include diff --git a/arch/sh/include/asm/irq_work.h b/arch/sh/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/sh/include/asm/irq_work.h @@ -0,0 +1 @@ +#include diff --git a/arch/sparc/include/asm/irq_work.h b/arch/sparc/include/asm/irq_work.h new file mode 100644 index 000..1d062a6 --- /dev/null +++ b/arch/sparc/include/asm/irq_work.h @@ -0,0 +1,6 @@ +#ifndef ___ASM_SPARC_IRQ_H +#define ___ASM_SPARC_IRQ_H + +extern void arch_irq_work_raise(void); + +#endif diff --git a/arch/x86/include/asm/irq_work.h b/arch/x86/include/asm/irq_work.h new file mode 100644 index 000..38eed96 --- /dev/null +++ b/arch/x86/include/asm/irq_work.h @@ -0,0 +1,10 @@
[RFC PATCH 1/5] irq_work: Move irq_work_raise() declaration/default definition to arch headers
This optimization doesn't matter much. But this prepares the arch headers that we need to add a new API in order to detect when the arch hooks on the tick to implement the irq work. This is necessary later to make printk working in nohz CPUs. Signed-off-by: Frederic Weisbecker fweis...@gmail.com Cc: Peter Zijlstra pet...@infradead.org Cc: Thomas Gleixner t...@linutronix.de Cc: Ingo Molnar mi...@kernel.org Cc: Andrew Morton a...@linux-foundation.org Cc: Steven Rostedt rost...@goodmis.org --- arch/alpha/include/asm/irq_work.h|6 ++ arch/arm/include/asm/irq_work.h |1 + arch/arm64/include/asm/irq_work.h|1 + arch/blackfin/include/asm/irq_work.h |1 + arch/frv/include/asm/irq_work.h |1 + arch/hexagon/include/asm/irq_work.h |1 + arch/mips/include/asm/irq_work.h |1 + arch/parisc/include/asm/irq_work.h |1 + arch/powerpc/include/asm/irq_work.h |6 ++ arch/s390/include/asm/irq_work.h |1 + arch/sh/include/asm/irq_work.h |1 + arch/sparc/include/asm/irq_work.h|6 ++ arch/x86/include/asm/irq_work.h | 10 ++ arch/x86/kernel/irq_work.c |4 ++-- include/asm-generic/irq_work.h |9 + include/linux/irq_work.h |1 + kernel/irq_work.c|7 --- 17 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 arch/alpha/include/asm/irq_work.h create mode 100644 arch/arm/include/asm/irq_work.h create mode 100644 arch/arm64/include/asm/irq_work.h create mode 100644 arch/blackfin/include/asm/irq_work.h create mode 100644 arch/frv/include/asm/irq_work.h create mode 100644 arch/hexagon/include/asm/irq_work.h create mode 100644 arch/mips/include/asm/irq_work.h create mode 100644 arch/parisc/include/asm/irq_work.h create mode 100644 arch/powerpc/include/asm/irq_work.h create mode 100644 arch/s390/include/asm/irq_work.h create mode 100644 arch/sh/include/asm/irq_work.h create mode 100644 arch/sparc/include/asm/irq_work.h create mode 100644 arch/x86/include/asm/irq_work.h create mode 100644 include/asm-generic/irq_work.h diff --git a/arch/alpha/include/asm/irq_work.h b/arch/alpha/include/asm/irq_work.h new file mode 100644 index 000..814ff3d --- /dev/null +++ b/arch/alpha/include/asm/irq_work.h @@ -0,0 +1,6 @@ +#ifndef _ALPHA_IRQ_WORK_H +#define _ALPHA_IRQ_WORK_H + +extern void arch_irq_work_raise(void); + +#endif diff --git a/arch/arm/include/asm/irq_work.h b/arch/arm/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/arm64/include/asm/irq_work.h b/arch/arm64/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/arm64/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/blackfin/include/asm/irq_work.h b/arch/blackfin/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/blackfin/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/frv/include/asm/irq_work.h b/arch/frv/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/frv/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/hexagon/include/asm/irq_work.h b/arch/hexagon/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/hexagon/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/mips/include/asm/irq_work.h b/arch/mips/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/mips/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/parisc/include/asm/irq_work.h b/arch/parisc/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/parisc/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/powerpc/include/asm/irq_work.h b/arch/powerpc/include/asm/irq_work.h new file mode 100644 index 000..8b9927f --- /dev/null +++ b/arch/powerpc/include/asm/irq_work.h @@ -0,0 +1,6 @@ +#ifndef _ASM_POWERPC_IRQ_WORK_H +#define _ASM_POWERPC_IRQ_WORK_H + +extern void arch_irq_work_raise(void); + +#endif diff --git a/arch/s390/include/asm/irq_work.h b/arch/s390/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/s390/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/sh/include/asm/irq_work.h b/arch/sh/include/asm/irq_work.h new file mode 100644 index 000..f1bffa2 --- /dev/null +++ b/arch/sh/include/asm/irq_work.h @@ -0,0 +1 @@ +#include asm-generic/irq_work.h diff --git a/arch/sparc/include/asm/irq_work.h b/arch/sparc/include/asm/irq_work.h new file mode 100644 index 000..1d062a6 --- /dev/null +++ b/arch/sparc/include/asm/irq_work.h @@