2012-10-09 13:30:47

by David Howells

[permalink] [raw]
Subject: [GIT PULL] Disintegrate UAPI for media

Can you merge the following branch into the media tree please.

This is to complete part of the Userspace API (UAPI) disintegration for which
the preparatory patches were pulled recently. After these patches, userspace
headers will be segregated into:

include/uapi/linux/.../foo.h

for the userspace interface stuff, and:

include/linux/.../foo.h

for the strictly kernel internal stuff.

---
The following changes since commit 9e2d8656f5e8aa214e66b462680cf86b210b74a8:

Merge branch 'akpm' (Andrew's patch-bomb) (2012-10-09 16:23:15 +0900)

are available in the git repository at:


git://git.infradead.org/users/dhowells/linux-headers.git tags/disintegrate-media-20121009

for you to fetch changes up to 1c436decd49665be131887b08d172a7989cdceee:

UAPI: (Scripted) Disintegrate include/linux/dvb (2012-10-09 09:48:42 +0100)

----------------------------------------------------------------
UAPI Disintegration 2012-10-09

----------------------------------------------------------------
David Howells (1):
UAPI: (Scripted) Disintegrate include/linux/dvb

include/linux/dvb/Kbuild | 8 -
include/linux/dvb/dmx.h | 130 +--------------
include/linux/dvb/video.h | 249 +----------------------------
include/uapi/linux/dvb/Kbuild | 8 +
include/{ => uapi}/linux/dvb/audio.h | 0
include/{ => uapi}/linux/dvb/ca.h | 0
include/uapi/linux/dvb/dmx.h | 155 ++++++++++++++++++
include/{ => uapi}/linux/dvb/frontend.h | 0
include/{ => uapi}/linux/dvb/net.h | 0
include/{ => uapi}/linux/dvb/osd.h | 0
include/{ => uapi}/linux/dvb/version.h | 0
include/uapi/linux/dvb/video.h | 274 ++++++++++++++++++++++++++++++++
12 files changed, 439 insertions(+), 385 deletions(-)
rename include/{ => uapi}/linux/dvb/audio.h (100%)
rename include/{ => uapi}/linux/dvb/ca.h (100%)
create mode 100644 include/uapi/linux/dvb/dmx.h
rename include/{ => uapi}/linux/dvb/frontend.h (100%)
rename include/{ => uapi}/linux/dvb/net.h (100%)
rename include/{ => uapi}/linux/dvb/osd.h (100%)
rename include/{ => uapi}/linux/dvb/version.h (100%)
create mode 100644 include/uapi/linux/dvb/video.h
.


2012-10-09 21:39:58

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [GIT PULL] Disintegrate UAPI for media

Em Tue, 09 Oct 2012 14:30:24 +0100
David Howells <[email protected]> escreveu:

> Can you merge the following branch into the media tree please.
>
> This is to complete part of the Userspace API (UAPI) disintegration for which
> the preparatory patches were pulled recently. After these patches, userspace
> headers will be segregated into:
>
> include/uapi/linux/.../foo.h
>
> for the userspace interface stuff, and:
>
> include/linux/.../foo.h
>
> for the strictly kernel internal stuff.
>
> ---
> The following changes since commit 9e2d8656f5e8aa214e66b462680cf86b210b74a8:
>
> Merge branch 'akpm' (Andrew's patch-bomb) (2012-10-09 16:23:15 +0900)
>
> are available in the git repository at:
>
>
> git://git.infradead.org/users/dhowells/linux-headers.git tags/disintegrate-media-20121009
>
> for you to fetch changes up to 1c436decd49665be131887b08d172a7989cdceee:
>
> UAPI: (Scripted) Disintegrate include/linux/dvb (2012-10-09 09:48:42 +0100)
>
> ----------------------------------------------------------------
> UAPI Disintegration 2012-10-09
>
> ----------------------------------------------------------------
> David Howells (1):
> UAPI: (Scripted) Disintegrate include/linux/dvb
>
> include/linux/dvb/Kbuild | 8 -
> include/linux/dvb/dmx.h | 130 +--------------
> include/linux/dvb/video.h | 249 +----------------------------
> include/uapi/linux/dvb/Kbuild | 8 +
> include/{ => uapi}/linux/dvb/audio.h | 0
> include/{ => uapi}/linux/dvb/ca.h | 0
> include/uapi/linux/dvb/dmx.h | 155 ++++++++++++++++++
> include/{ => uapi}/linux/dvb/frontend.h | 0
> include/{ => uapi}/linux/dvb/net.h | 0
> include/{ => uapi}/linux/dvb/osd.h | 0
> include/{ => uapi}/linux/dvb/version.h | 0
> include/uapi/linux/dvb/video.h | 274 ++++++++++++++++++++++++++++++++
> 12 files changed, 439 insertions(+), 385 deletions(-)
> rename include/{ => uapi}/linux/dvb/audio.h (100%)
> rename include/{ => uapi}/linux/dvb/ca.h (100%)
> create mode 100644 include/uapi/linux/dvb/dmx.h
> rename include/{ => uapi}/linux/dvb/frontend.h (100%)
> rename include/{ => uapi}/linux/dvb/net.h (100%)
> rename include/{ => uapi}/linux/dvb/osd.h (100%)
> rename include/{ => uapi}/linux/dvb/version.h (100%)
> create mode 100644 include/uapi/linux/dvb/video.h

Hmm... last year, it was decided that we would be putting the DVB av7110-only
API files on a separate place, as the API there conflicts with V4L/alsa APIs
and are used only by one upstream driver (there were two drivers using them,
at that time). As you might notice, av7110 hardware is really old, not
manufactured anymore since maybe 10 years ago, and it is an unmaintained
driver.

Some developers complained, arguing that moving it to a separate file would
be breaking the compilation on existing tools (they're basically concerned with
it due to out-of-tree drivers - mostly propietary ones, that use this API).

Now that we're moving everything, it does make sense to do that, moving
dvb/(audio|osd|video).h to someplace else (maybe linux/dvb/av7110.h or
linux/dvb/legacy/*.h).

Regards,
Mauro

2012-10-10 11:26:37

by David Howells

[permalink] [raw]
Subject: Re: [GIT PULL] Disintegrate UAPI for media

Mauro Carvalho Chehab <[email protected]> wrote:

> Hmm... last year, it was decided that we would be putting the DVB av7110-only
> API files on a separate place, as the API there conflicts with V4L/alsa APIs
> and are used only by one upstream driver (there were two drivers using them,
> at that time). As you might notice, av7110 hardware is really old, not
> manufactured anymore since maybe 10 years ago, and it is an unmaintained
> driver.
>
> Some developers complained, arguing that moving it to a separate file would
> be breaking the compilation on existing tools (they're basically concerned
> with it due to out-of-tree drivers - mostly propietary ones, that use this
> API).

As long as they're relying on the -I flags provided by the build tree, that
oughtn't to be a problem. If they're doing their own -I flags, they'll need
to add -I include/uapi too (_after_ -I include).

> Now that we're moving everything, it does make sense to do that, moving
> dvb/(audio|osd|video).h to someplace else (maybe linux/dvb/av7110.h or
> linux/dvb/legacy/*.h).

Do you want me to do anything? I should be able to incorporate a patch prior
to the disintegration of linux/dvb/ if you have one.

David

2012-10-11 08:26:31

by Oliver Endriss

[permalink] [raw]
Subject: Re: Re: [GIT PULL] Disintegrate UAPI for media

Mauro Carvalho Chehab <[email protected]> wrote:
> Em Tue, 09 Oct 2012 14:30:24 +0100
> David Howells <[email protected]> escreveu:
>
> > Can you merge the following branch into the media tree please.
> >
> > This is to complete part of the Userspace API (UAPI) disintegration for which
> > the preparatory patches were pulled recently. After these patches, userspace
> > headers will be segregated into:
> >
> > include/uapi/linux/.../foo.h
> >
> > for the userspace interface stuff, and:
> >
> > include/linux/.../foo.h
> >
> > for the strictly kernel internal stuff.
> >
> > ---
> > The following changes since commit 9e2d8656f5e8aa214e66b462680cf86b210b74a8:
> >
> > Merge branch 'akpm' (Andrew's patch-bomb) (2012-10-09 16:23:15 +0900)
> >
> > are available in the git repository at:
> >
> >
> > git://git.infradead.org/users/dhowells/linux-headers.git tags/disintegrate-media-20121009
> >
> > for you to fetch changes up to 1c436decd49665be131887b08d172a7989cdceee:
> >
> > UAPI: (Scripted) Disintegrate include/linux/dvb (2012-10-09 09:48:42 +0100)
> >
> > ----------------------------------------------------------------
> > UAPI Disintegration 2012-10-09
> >
> > ----------------------------------------------------------------
> > David Howells (1):
> > UAPI: (Scripted) Disintegrate include/linux/dvb
> >
> > include/linux/dvb/Kbuild | 8 -
> > include/linux/dvb/dmx.h | 130 +--------------
> > include/linux/dvb/video.h | 249 +----------------------------
> > include/uapi/linux/dvb/Kbuild | 8 +
> > include/{ => uapi}/linux/dvb/audio.h | 0
> > include/{ => uapi}/linux/dvb/ca.h | 0
> > include/uapi/linux/dvb/dmx.h | 155 ++++++++++++++++++
> > include/{ => uapi}/linux/dvb/frontend.h | 0
> > include/{ => uapi}/linux/dvb/net.h | 0
> > include/{ => uapi}/linux/dvb/osd.h | 0
> > include/{ => uapi}/linux/dvb/version.h | 0
> > include/uapi/linux/dvb/video.h | 274 ++++++++++++++++++++++++++++++++
> > 12 files changed, 439 insertions(+), 385 deletions(-)
> > rename include/{ => uapi}/linux/dvb/audio.h (100%)
> > rename include/{ => uapi}/linux/dvb/ca.h (100%)
> > create mode 100644 include/uapi/linux/dvb/dmx.h
> > rename include/{ => uapi}/linux/dvb/frontend.h (100%)
> > rename include/{ => uapi}/linux/dvb/net.h (100%)
> > rename include/{ => uapi}/linux/dvb/osd.h (100%)
> > rename include/{ => uapi}/linux/dvb/version.h (100%)
> > create mode 100644 include/uapi/linux/dvb/video.h
>
> Hmm... last year, it was decided that we would be putting the DVB av7110-only
> API files on a separate place, as the API there conflicts with V4L/alsa APIs

Wrong! Hans Verkuil and you tried to do it, without caring that it would
break userspace, and it was NAKed.

Btw, if there is an API conflict, you guys created it.

Anyone, who is interested in the _true_ history, should have a look at
the GIT changelog:
- dvb/{video.h,audio.h,osd.h} was the original decoder API.
- Then Hans extended this API, still using the same files.
- Later the v4l guys decided to create a new API.
- Now they want to (re)move the old one, breaking userspace.

I explicitly NAK any attempt to break userspace applications and tools!
There is no reason to do it!

> and are used only by one upstream driver (there were two drivers using them,
> at that time). As you might notice, av7110 hardware is really old, not
> manufactured anymore since maybe 10 years ago, and it is an unmaintained
> driver.

The driver works fine, and it will continue to do so, unless someone
tampers with it. It does not require maintenance.
The hardware is old, but it is still in use, as it is easy to create a
pc-based settopbox with it.

> Some developers complained, arguing that moving it to a separate file would
> be breaking the compilation on existing tools (they're basically concerned with
> it due to out-of-tree drivers - mostly propietary ones, that use this API).

It you move the API somewhere else, you will break userspace applications
like VDR. This is not acceptable.

> Now that we're moving everything, it does make sense to do that, moving
> dvb/(audio|osd|video).h to someplace else (maybe linux/dvb/av7110.h or
> linux/dvb/legacy/*.h).

As far as I understand the original patchset, it will not break
userspace, as it will simply move all files somewhere else, preserving
file names and the position of the files in the tree.

Mauro is trying to the move the old decoder API somewhere else, possibly
into a different file, which will definitely break userspace.
NAK for this!

Regards,
Oliver

--
----------------------------------------------------------------
VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
4 MByte Mod: http://www.escape-edv.de/endriss/dvb-mem-mod/
Full-TS Mod: http://www.escape-edv.de/endriss/dvb-full-ts-mod/
----------------------------------------------------------------

2012-10-11 08:41:40

by Manu Abraham

[permalink] [raw]
Subject: Re: Re: [GIT PULL] Disintegrate UAPI for media

On Thu, Oct 11, 2012 at 1:53 PM, Oliver Endriss <[email protected]> wrote:
> Mauro Carvalho Chehab <[email protected]> wrote:
>> Em Tue, 09 Oct 2012 14:30:24 +0100
>> David Howells <[email protected]> escreveu:
>>
>> > Can you merge the following branch into the media tree please.
>> >
>> > This is to complete part of the Userspace API (UAPI) disintegration for which
>> > the preparatory patches were pulled recently. After these patches, userspace
>> > headers will be segregated into:
>> >
>> > include/uapi/linux/.../foo.h
>> >
>> > for the userspace interface stuff, and:
>> >
>> > include/linux/.../foo.h
>> >
>> > for the strictly kernel internal stuff.
>> >
>> > ---
>> > The following changes since commit 9e2d8656f5e8aa214e66b462680cf86b210b74a8:
>> >
>> > Merge branch 'akpm' (Andrew's patch-bomb) (2012-10-09 16:23:15 +0900)
>> >
>> > are available in the git repository at:
>> >
>> >
>> > git://git.infradead.org/users/dhowells/linux-headers.git tags/disintegrate-media-20121009
>> >
>> > for you to fetch changes up to 1c436decd49665be131887b08d172a7989cdceee:
>> >
>> > UAPI: (Scripted) Disintegrate include/linux/dvb (2012-10-09 09:48:42 +0100)
>> >
>> > ----------------------------------------------------------------
>> > UAPI Disintegration 2012-10-09
>> >
>> > ----------------------------------------------------------------
>> > David Howells (1):
>> > UAPI: (Scripted) Disintegrate include/linux/dvb
>> >
>> > include/linux/dvb/Kbuild | 8 -
>> > include/linux/dvb/dmx.h | 130 +--------------
>> > include/linux/dvb/video.h | 249 +----------------------------
>> > include/uapi/linux/dvb/Kbuild | 8 +
>> > include/{ => uapi}/linux/dvb/audio.h | 0
>> > include/{ => uapi}/linux/dvb/ca.h | 0
>> > include/uapi/linux/dvb/dmx.h | 155 ++++++++++++++++++
>> > include/{ => uapi}/linux/dvb/frontend.h | 0
>> > include/{ => uapi}/linux/dvb/net.h | 0
>> > include/{ => uapi}/linux/dvb/osd.h | 0
>> > include/{ => uapi}/linux/dvb/version.h | 0
>> > include/uapi/linux/dvb/video.h | 274 ++++++++++++++++++++++++++++++++
>> > 12 files changed, 439 insertions(+), 385 deletions(-)
>> > rename include/{ => uapi}/linux/dvb/audio.h (100%)
>> > rename include/{ => uapi}/linux/dvb/ca.h (100%)
>> > create mode 100644 include/uapi/linux/dvb/dmx.h
>> > rename include/{ => uapi}/linux/dvb/frontend.h (100%)
>> > rename include/{ => uapi}/linux/dvb/net.h (100%)
>> > rename include/{ => uapi}/linux/dvb/osd.h (100%)
>> > rename include/{ => uapi}/linux/dvb/version.h (100%)
>> > create mode 100644 include/uapi/linux/dvb/video.h
>>
>> Hmm... last year, it was decided that we would be putting the DVB av7110-only
>> API files on a separate place, as the API there conflicts with V4L/alsa APIs
>
> Wrong! Hans Verkuil and you tried to do it, without caring that it would
> break userspace, and it was NAKed.
>
> Btw, if there is an API conflict, you guys created it.
>
> Anyone, who is interested in the _true_ history, should have a look at
> the GIT changelog:
> - dvb/{video.h,audio.h,osd.h} was the original decoder API.
> - Then Hans extended this API, still using the same files.
> - Later the v4l guys decided to create a new API.
> - Now they want to (re)move the old one, breaking userspace.
>
> I explicitly NAK any attempt to break userspace applications and tools!
> There is no reason to do it!
>
>> and are used only by one upstream driver (there were two drivers using them,
>> at that time). As you might notice, av7110 hardware is really old, not
>> manufactured anymore since maybe 10 years ago, and it is an unmaintained
>> driver.
>
> The driver works fine, and it will continue to do so, unless someone
> tampers with it. It does not require maintenance.
> The hardware is old, but it is still in use, as it is easy to create a
> pc-based settopbox with it.


As of writing; the av7110 is the only driver in-kernel, but there is more to it:
Such drivers are hard to bring up and takes an awful amount of time. There
is already one driver which is nearing completion based on the same interface.


>
>> Some developers complained, arguing that moving it to a separate file would
>> be breaking the compilation on existing tools (they're basically concerned with
>> it due to out-of-tree drivers - mostly propietary ones, that use this API).
>
> It you move the API somewhere else, you will break userspace applications
> like VDR. This is not acceptable.
>
>> Now that we're moving everything, it does make sense to do that, moving
>> dvb/(audio|osd|video).h to someplace else (maybe linux/dvb/av7110.h or
>> linux/dvb/legacy/*.h).
>
> As far as I understand the original patchset, it will not break
> userspace, as it will simply move all files somewhere else, preserving
> file names and the position of the files in the tree.
>
> Mauro is trying to the move the old decoder API somewhere else, possibly
> into a different file, which will definitely break userspace.
> NAK for this!


I completely agree with Oliver on this and NAK the suggestion put forward
by Mauro (and Hans)


Regards,
Manu

2012-10-11 12:37:16

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [GIT PULL] Disintegrate UAPI for media

Em Thu, 11 Oct 2012 10:23:50 +0200
Oliver Endriss <[email protected]> escreveu:

> Mauro Carvalho Chehab <[email protected]> wrote:
> > Em Tue, 09 Oct 2012 14:30:24 +0100
> > David Howells <[email protected]> escreveu:
> >
> > > Can you merge the following branch into the media tree please.
> > >
> > > This is to complete part of the Userspace API (UAPI) disintegration for which
> > > the preparatory patches were pulled recently. After these patches, userspace
> > > headers will be segregated into:
> > >
> > > include/uapi/linux/.../foo.h
> > >
> > > for the userspace interface stuff, and:
> > >
> > > include/linux/.../foo.h
> > >
> > > for the strictly kernel internal stuff.
> > >
> > > ---
> > > The following changes since commit 9e2d8656f5e8aa214e66b462680cf86b210b74a8:
> > >
> > > Merge branch 'akpm' (Andrew's patch-bomb) (2012-10-09 16:23:15 +0900)
> > >
> > > are available in the git repository at:
> > >
> > >
> > > git://git.infradead.org/users/dhowells/linux-headers.git tags/disintegrate-media-20121009
> > >
> > > for you to fetch changes up to 1c436decd49665be131887b08d172a7989cdceee:
> > >
> > > UAPI: (Scripted) Disintegrate include/linux/dvb (2012-10-09 09:48:42 +0100)
> > >
> > > ----------------------------------------------------------------
> > > UAPI Disintegration 2012-10-09
> > >
> > > ----------------------------------------------------------------
> > > David Howells (1):
> > > UAPI: (Scripted) Disintegrate include/linux/dvb
> > >
> > > include/linux/dvb/Kbuild | 8 -
> > > include/linux/dvb/dmx.h | 130 +--------------
> > > include/linux/dvb/video.h | 249 +----------------------------
> > > include/uapi/linux/dvb/Kbuild | 8 +
> > > include/{ => uapi}/linux/dvb/audio.h | 0
> > > include/{ => uapi}/linux/dvb/ca.h | 0
> > > include/uapi/linux/dvb/dmx.h | 155 ++++++++++++++++++
> > > include/{ => uapi}/linux/dvb/frontend.h | 0
> > > include/{ => uapi}/linux/dvb/net.h | 0
> > > include/{ => uapi}/linux/dvb/osd.h | 0
> > > include/{ => uapi}/linux/dvb/version.h | 0
> > > include/uapi/linux/dvb/video.h | 274 ++++++++++++++++++++++++++++++++
> > > 12 files changed, 439 insertions(+), 385 deletions(-)
> > > rename include/{ => uapi}/linux/dvb/audio.h (100%)
> > > rename include/{ => uapi}/linux/dvb/ca.h (100%)
> > > create mode 100644 include/uapi/linux/dvb/dmx.h
> > > rename include/{ => uapi}/linux/dvb/frontend.h (100%)
> > > rename include/{ => uapi}/linux/dvb/net.h (100%)
> > > rename include/{ => uapi}/linux/dvb/osd.h (100%)
> > > rename include/{ => uapi}/linux/dvb/version.h (100%)
> > > create mode 100644 include/uapi/linux/dvb/video.h
> >
> > Hmm... last year, it was decided that we would be putting the DVB av7110-only
> > API files on a separate place, as the API there conflicts with V4L/alsa APIs
>
> Wrong! Hans Verkuil and you tried to do it, without caring that it would
> break userspace, and it was NAKed.

My understanding here is that, as the file location will change
with this series, your original concern is now void, as userspace
will require patches to use the new location. So, if we're willing
to do it, let's put this one-driver-only obsolete API on a separate
place.


Cheers,
Mauro

2012-10-11 14:05:47

by David Howells

[permalink] [raw]
Subject: Re: [GIT PULL] Disintegrate UAPI for media

Mauro Carvalho Chehab <[email protected]> wrote:

> My understanding here is that, as the file location will change
> with this series, your original concern is now void, as userspace
> will require patches to use the new location. So, if we're willing
> to do it, let's put this one-driver-only obsolete API on a separate
> place.

As far as userspace is concerned, things will not change. The header
installation step will copy the uapi/ headers to the place it used to copy the
non-uapi header.

David

2012-10-11 14:57:55

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [GIT PULL] Disintegrate UAPI for media

Em Thu, 11 Oct 2012 15:05:31 +0100
David Howells <[email protected]> escreveu:

> Mauro Carvalho Chehab <[email protected]> wrote:
>
> > My understanding here is that, as the file location will change
> > with this series, your original concern is now void, as userspace
> > will require patches to use the new location. So, if we're willing
> > to do it, let's put this one-driver-only obsolete API on a separate
> > place.
>
> As far as userspace is concerned, things will not change. The header
> installation step will copy the uapi/ headers to the place it used to copy the
> non-uapi header.

Ah, ok. Then let's apply it as-is.

Cheers,
Mauro