2010-07-28 06:29:11

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: Tree for July 28

Hi all,

Changes since 20100727:

The mips tree still has its build failure so I applied a supplied patch.

The xfs tree lost its build failure.

The scsi tree gained a build failure (but only for allyesconfigs, so I
left it there for now).

The ieee2394 tree lost its build failure.

The kvm tree still has its build failure.

The battery tree gained a conflict against the mips tree.

The xen tree regained a build failure so I used the version from
next-20100727.

The tip tree gained a conflict against the sh tree and a complex conflict
against the powerpc tree so I used the version from next-20100727 for
today (while the conflict is worked on).

The staging-next tree gained a conflict against the v4l-dvb tree.

----------------------------------------------------------------------------

I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/v2.6/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).

You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log files
in the Next directory. Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups (if any), it is also built with powerpc allnoconfig (32 and
64 bit), ppc44x_defconfig and allyesconfig (minus
CONFIG_PROFILE_ALL_BRANCHES - this fails its final link) and i386, sparc
and sparc64 defconfig. These builds also have
CONFIG_ENABLE_WARN_DEPRECATED, CONFIG_ENABLE_MUST_CHECK and
CONFIG_DEBUG_INFO disabled when necessary.

Below is a summary of the state of the merge.

We are up to 167 trees (counting Linus' and 22 trees of patches pending
for Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.

Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.

Thanks to Jan Dittmer for adding the linux-next tree to his build tests
at http://l4x.org/k/ , the guys at http://test.kernel.org/ and Randy
Dunlap for doing many randconfig builds.

There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel.

--
Cheers,
Stephen Rothwell [email protected]

$ git checkout master
$ git reset --hard stable
Merging origin/master
Merging fixes/fixes
Merging arm-current/master
Merging m68k-current/for-linus
Merging powerpc-merge/merge
Merging sparc-current/master
Merging scsi-rc-fixes/master
Merging net-current/master
Merging sound-current/for-linus
Merging pci-current/for-linus
Merging wireless-current/master
Merging kbuild-current/rc-fixes
Merging quilt/driver-core.current
Merging quilt/tty.current
Merging quilt/usb.current
Merging quilt/staging.current
Merging cpufreq-current/fixes
Merging input-current/for-linus
Merging md-current/for-linus
Merging audit-current/for-linus
Merging crypto-current/master
Merging ide-curent/master
Merging dwmw2/master
Merging gcl-current/merge
Merging arm/devel
Merging davinci/davinci-next
Merging i.MX/for-next
Merging msm/for-next
Merging omap/for-next
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-3430sdp.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-3630sdp.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-am3517evm.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-cm-t35.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-devkit8000.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-igep0020.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-ldp.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-omap3beagle.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-omap3evm.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-omap3pandora.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-omap3touchbook.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-overo.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-zoom2.c
CONFLICT (content): Merge conflict in arch/arm/mach-omap2/board-zoom3.c
Merging pxa/for-next
Merging samsung/next-samsung
Merging s5p/for-next
Merging tegra/for-next
CONFLICT (content): Merge conflict in arch/arm/Kconfig
Merging avr32/avr32-arch
Merging blackfin/for-linus
Merging cris/for-next
Merging ia64/test
Merging m68k/for-next
Merging m68knommu/for-next
Merging microblaze/next
Merging mips/mips-for-linux-next
Applying: fbdev: Make jz4740-fb depends on MACH_JZ4740
Merging parisc/next
Merging powerpc/next
Merging 4xx/next
Merging 52xx-and-virtex/next
CONFLICT (content): Merge conflict in drivers/serial/mpc52xx_uart.c
Merging galak/next
Merging s390/features
Merging sh/master
Merging genesis/master
CONFLICT (content): Merge conflict in arch/arm/configs/ap4evb_defconfig
CONFLICT (content): Merge conflict in arch/arm/configs/g3evm_defconfig
CONFLICT (content): Merge conflict in arch/arm/configs/g4evm_defconfig
Merging sparc/master
Merging tile/master
Merging xtensa/master
Merging ceph/for-next
Merging cifs/master
Merging configfs/linux-next
Merging ecryptfs/next
Merging ext3/for_next
Merging ext4/next
Merging fatfs/master
Merging fuse/for-next
Merging gfs2/master
Merging jfs/next
Merging logfs/master
CONFLICT (content): Merge conflict in fs/logfs/logfs.h
Merging nfs/linux-next
Merging nfsd/nfsd-next
Merging nilfs2/for-next
Merging ocfs2/linux-next
Merging omfs/for-next
Merging squashfs/master
Merging udf/for_next
Merging v9fs/for-next
Merging ubifs/linux-next
Merging xfs/master
CONFLICT (content): Merge conflict in fs/ext4/inode.c
CONFLICT (content): Merge conflict in fs/xfs/linux-2.6/xfs_aops.c
Merging vfs/for-next
CONFLICT (content): Merge conflict in fs/nilfs2/super.c
CONFLICT (content): Merge conflict in fs/xfs/linux-2.6/xfs_aops.c
CONFLICT (content): Merge conflict in fs/xfs/linux-2.6/xfs_super.c
Applying: v9fs: fixup for inode_setattr being removed
Applying: xfs: update tracing for clear_inode to evit_inode transition
Applying: cifs: fix for clear_inode -> evict_inode API change
Merging pci/linux-next
Merging hid/for-next
Merging quilt/i2c
Merging bjdooks-i2c/next-i2c
CONFLICT (content): Merge conflict in arch/arm/plat-omap/i2c.c
CONFLICT (content): Merge conflict in drivers/i2c/busses/i2c-cpm.c
CONFLICT (content): Merge conflict in drivers/i2c/busses/i2c-mpc.c
Merging quilt/jdelvare-hwmon
Merging quilt/kernel-doc
Merging v4l-dvb/master
Merging kbuild/for-next
Merging kconfig/for-next
Merging ide/master
Merging libata/NEXT
Merging infiniband/for-next
Merging acpi/test
Merging idle-test/idle-test
Merging ieee1394/for-next
Merging ubi/linux-next
Merging kvm/linux-next
CONFLICT (content): Merge conflict in arch/x86/kvm/paging_tmpl.h
Merging dlm/next
Merging ibft/master
Merging swiotlb/master
Merging scsi/master
Merging async_tx/next
CONFLICT (content): Merge conflict in arch/arm/mach-ux500/devices-db8500.c
Merging net/master
Merging wireless/master
Merging mtd/master
Merging crypto/master
Merging sound/for-next
CONFLICT (content): Merge conflict in Documentation/kernel-parameters.txt
Merging cpufreq/next
Merging quilt/rr
CONFLICT (content): Merge conflict in arch/um/drivers/hostaudio_kern.c
Merging input/next
CONFLICT (add/add): Merge conflict in arch/arm/plat-samsung/include/plat/keypad.h
Merging lsm/for-next
Merging block/for-next
CONFLICT (content): Merge conflict in drivers/block/virtio_blk.c
CONFLICT (content): Merge conflict in drivers/scsi/scsi_error.c
Merging quilt/device-mapper
CONFLICT (content): Merge conflict in drivers/md/dm.c
Merging embedded/master
Merging firmware/master
Merging pcmcia/master
Merging battery/master
CONFLICT (content): Merge conflict in drivers/power/Kconfig
CONFLICT (content): Merge conflict in drivers/power/Makefile
Merging leds/for-mm
Merging backlight/for-mm
Merging kgdb/kgdb-next
Merging slab/for-next
Merging uclinux/for-next
Merging md/for-next
Merging mfd/for-next
Merging hdlc/hdlc-next
Merging drm/drm-next
Merging viafb/viafb-next
Merging voltage/for-next
Merging security-testing/next
Merging lblnet/master
Merging agp/agp-next
Merging uwb/for-upstream
Merging watchdog/master
Merging bdev/master
Merging dwmw2-iommu/master
Merging cputime/cputime
Merging osd/linux-next
Merging jc_docs/docs-next
Merging nommu/master
Merging trivial/for-next
Merging audit/for-next
Merging quilt/aoe
Merging suspend/linux-next
CONFLICT (content): Merge conflict in drivers/net/wireless/ipw2x00/ipw2100.c
Merging bluetooth/master
Merging fsnotify/for-next
CONFLICT (delete/modify): fs/notify/inotify/inotify.c deleted in fsnotify/for-next and modified in HEAD. Version HEAD of fs/notify/inotify/inotify.c left in tree.
$ git rm -f fs/notify/inotify/inotify.c
Applying: fsnotify: update gfp/slab.h includes
Merging irda/for-next
CONFLICT (content): Merge conflict in drivers/net/irda/irda-usb.c
Merging catalin/for-next
CONFLICT (content): Merge conflict in arch/arm/kernel/entry-armv.S
CONFLICT (content): Merge conflict in arch/arm/mm/mmu.c
Merging alacrity/linux-next
Merging i7core_edac/linux_next
CONFLICT (content): Merge conflict in MAINTAINERS
Merging devicetree/next-devicetree
CONFLICT (content): Merge conflict in arch/microblaze/kernel/Makefile
Merging spi/next-spi
Merging limits/writable_limits
CONFLICT (content): Merge conflict in arch/x86/ia32/ia32entry.S
CONFLICT (content): Merge conflict in arch/x86/include/asm/unistd_32.h
CONFLICT (content): Merge conflict in arch/x86/include/asm/unistd_64.h
CONFLICT (content): Merge conflict in arch/x86/kernel/syscall_table_32.S
CONFLICT (content): Merge conflict in include/asm-generic/unistd.h
Merging omap_dss2/for-next
Merging xen/upstream/xen
$ git reset --hard HEAD^
Merging refs/next/20100727/xen
CONFLICT (content): Merge conflict in arch/x86/kernel/hpet.c
[master 8d4e09b] Merge commit 'refs/next/20100727/xen'
Merging tip/auto-latest
CONFLICT (content): Merge conflict in Documentation/feature-removal-schedule.txt
CONFLICT (content): Merge conflict in Makefile
CONFLICT (content): Merge conflict in arch/powerpc/kernel/time.c
CONFLICT (content): Merge conflict in drivers/Makefile
CONFLICT (content): Merge conflict in drivers/cpufreq/cpufreq.c
$ git reset --hard HEAD^
Merging refs/next/20100727/tip
CONFLICT (content): Merge conflict in Makefile
CONFLICT (content): Merge conflict in drivers/cpufreq/cpufreq.c
CONFLICT (content): Merge conflict in tools/perf/Makefile
[master 9a941e7] Merge commit 'refs/next/20100727/tip'
Merging edac-amd/for-next
Merging oprofile/for-next
Merging percpu/for-next
Merging workqueues/for-next
CONFLICT (content): Merge conflict in fs/cifs/cifsfs.c
CONFLICT (content): Merge conflict in fs/cifs/cifsglob.h
CONFLICT (content): Merge conflict in fs/cifs/file.c
CONFLICT (content): Merge conflict in include/linux/workqueue.h
CONFLICT (content): Merge conflict in kernel/trace/Kconfig
CONFLICT (content): Merge conflict in kernel/workqueue.c
Merging sfi/sfi-test
Merging asm-generic/next
Merging drivers-x86/linux-next
Merging hwpoison/hwpoison
CONFLICT (content): Merge conflict in mm/memory-failure.c
Merging sysctl/master
Merging bkl-core/bkl/core
Merging bkl-procfs/bkl/procfs
Merging bkl-ioctl/bkl/ioctl
Merging quilt/driver-core
Merging quilt/tty
CONFLICT (content): Merge conflict in include/linux/serial_core.h
Merging quilt/usb
Merging staging-next/staging-next
CONFLICT (content): Merge conflict in drivers/staging/Kconfig
CONFLICT (content): Merge conflict in drivers/staging/batman-adv/bat_sysfs.c
CONFLICT (delete/modify): drivers/staging/batman-adv/device.c deleted in staging-next/staging-next and modified in HEAD. Version HEAD of drivers/staging/batman-adv/device.c left in tree.
CONFLICT (content): Merge conflict in drivers/staging/batman-adv/hard-interface.c
CONFLICT (delete/modify): drivers/staging/cx25821/cx25821-audups11.c deleted in HEAD and modified in staging-next/staging-next. Version staging-next/staging-next of drivers/staging/cx25821/cx25821-audups11.c left in tree.
$ git rm -f drivers/staging/cx25821/cx25821-audups11.c
$ git rm -f drivers/staging/batman-adv/device.c
Merging slabh/slabh
Merging scsi-post-merge/master
Applying: kvm: u64's should be printed with %llx


Attachments:
(No filename) (12.32 kB)
(No filename) (490.00 B)
Download all attachments

2010-07-28 17:14:39

by Randy Dunlap

[permalink] [raw]
Subject: Re: linux-next: Tree for July 28 (lirc)

On Wed, 28 Jul 2010 16:28:55 +1000 Stephen Rothwell wrote:

> Hi all,
>
> Changes since 20100727:


when CONFIG_MODULES is not enabled:

drivers/staging/lirc/lirc_parallel.c:243: error: implicit declaration of function 'module_refcount'
drivers/staging/lirc/lirc_it87.c:150: error: implicit declaration of function 'module_refcount'
drivers/built-in.o: In function `it87_probe':
lirc_it87.c:(.text+0x4079b0): undefined reference to `init_chrdev'
lirc_it87.c:(.text+0x4079cc): undefined reference to `drop_chrdev'
drivers/built-in.o: In function `lirc_it87_exit':
lirc_it87.c:(.exit.text+0x38a5): undefined reference to `drop_chrdev'

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2010-07-28 17:16:26

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH -next] staging/quickstart: depends on INPUT

From: Randy Dunlap <[email protected]>

quickstart uses input_*() functions so it should depend on INPUT.

ERROR: "input_register_device" [drivers/staging/quickstart/quickstart.ko] undefined!
ERROR: "input_allocate_device" [drivers/staging/quickstart/quickstart.ko] undefined!
ERROR: "input_event" [drivers/staging/quickstart/quickstart.ko] undefined!
ERROR: "input_free_device" [drivers/staging/quickstart/quickstart.ko] undefined!
ERROR: "input_unregister_device" [drivers/staging/quickstart/quickstart.ko] undefined!

Signed-off-by: Randy Dunlap <[email protected]>
Cc: Angelo Arrifano <[email protected]>
---
drivers/staging/quickstart/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next-20100728.orig/drivers/staging/quickstart/Kconfig
+++ linux-next-20100728/drivers/staging/quickstart/Kconfig
@@ -1,6 +1,6 @@
config ACPI_QUICKSTART
tristate "ACPI Quickstart key driver"
- depends on ACPI
+ depends on ACPI && INPUT
help
Say Y here if you have a platform that supports the ACPI
quickstart key protocol.

2010-07-28 17:25:57

by Randy Dunlap

[permalink] [raw]
Subject: Re: linux-next: Tree for July 28 (lirc #2)

On Wed, 28 Jul 2010 16:28:55 +1000 Stephen Rothwell wrote:

> Hi all,
>
> Changes since 20100727:


When USB_SUPPORT is not enabled and MEDIA_SUPPORT is not enabled:


ERROR: "lirc_dev_fop_close" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "lirc_dev_fop_open" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "lirc_dev_fop_poll" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "lirc_dev_fop_write" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "lirc_dev_fop_read" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "usb_register_driver" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "lirc_register_driver" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "usb_string" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "usb_alloc_urb" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "usb_alloc_coherent" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "lirc_dev_fop_ioctl" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "lirc_get_pdata" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "usb_free_coherent" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "usb_free_urb" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "lirc_unregister_driver" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "usb_kill_urb" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "usb_submit_urb" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "usb_deregister" [drivers/staging/lirc/lirc_streamzap.ko] undefined!
ERROR: "lirc_dev_fop_close" [drivers/staging/lirc/lirc_sir.ko] undefined!
ERROR: "lirc_dev_fop_open" [drivers/staging/lirc/lirc_sir.ko] undefined!
ERROR: "lirc_register_driver" [drivers/staging/lirc/lirc_sir.ko] undefined!
ERROR: "lirc_unregister_driver" [drivers/staging/lirc/lirc_sir.ko] undefined!

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2010-07-28 22:13:43

by Janne Grunau

[permalink] [raw]
Subject: Re: linux-next: Tree for July 28 (lirc #2)

On Wed, Jul 28, 2010 at 10:24:17AM -0700, Randy Dunlap wrote:
> On Wed, 28 Jul 2010 16:28:55 +1000 Stephen Rothwell wrote:
>
> > Hi all,
> >
> > Changes since 20100727:
>
>
> When USB_SUPPORT is not enabled and MEDIA_SUPPORT is not enabled:
>

following patch should fix it

Janne


>From 7d1cc98c19a6c27dd74a28f04dfe4248a0b335ce Mon Sep 17 00:00:00 2001
From: Janne Grunau <[email protected]>
Date: Wed, 28 Jul 2010 23:53:35 +0200
Subject: [PATCH 1/2] staging/lirc: fix Kconfig dependencies

Signed-off-by: Janne Grunau <[email protected]>
---
drivers/staging/lirc/Kconfig | 28 ++++++++++++++--------------
1 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/lirc/Kconfig b/drivers/staging/lirc/Kconfig
index 968c2ade..3981a4a 100644
--- a/drivers/staging/lirc/Kconfig
+++ b/drivers/staging/lirc/Kconfig
@@ -13,13 +13,13 @@ if LIRC_STAGING

config LIRC_BT829
tristate "BT829 based hardware"
- depends on LIRC_STAGING
+ depends on LIRC && LIRC_STAGING
help
Driver for the IR interface on BT829-based hardware

config LIRC_ENE0100
tristate "ENE KB3924/ENE0100 CIR Port Reciever"
- depends on LIRC_STAGING
+ depends on LIRC && LIRC_STAGING
help
This is a driver for CIR port handled by ENE KB3924 embedded
controller found on some notebooks.
@@ -27,20 +27,20 @@ config LIRC_ENE0100

config LIRC_I2C
tristate "I2C Based IR Receivers"
- depends on LIRC_STAGING
+ depends on I2C && LIRC && LIRC_STAGING
help
Driver for I2C-based IR receivers, such as those commonly
found onboard Hauppauge PVR-150/250/350 video capture cards

config LIRC_IGORPLUGUSB
tristate "Igor Cesko's USB IR Receiver"
- depends on LIRC_STAGING && USB
+ depends on USB && LIRC && LIRC_STAGING && USB
help
Driver for Igor Cesko's USB IR Receiver

config LIRC_IMON
tristate "Legacy SoundGraph iMON Receiver and Display"
- depends on LIRC_STAGING
+ depends on LIRC && LIRC_STAGING
help
Driver for the original SoundGraph iMON IR Receiver and Display

@@ -48,31 +48,31 @@ config LIRC_IMON

config LIRC_IT87
tristate "ITE IT87XX CIR Port Receiver"
- depends on LIRC_STAGING
+ depends on LIRC && LIRC_STAGING
help
Driver for the ITE IT87xx IR Receiver

config LIRC_ITE8709
tristate "ITE8709 CIR Port Receiver"
- depends on LIRC_STAGING && PNP
+ depends on LIRC && LIRC_STAGING && PNP
help
Driver for the ITE8709 IR Receiver

config LIRC_PARALLEL
tristate "Homebrew Parallel Port Receiver"
- depends on LIRC_STAGING && !SMP
+ depends on LIRC && LIRC_STAGING && !SMP
help
Driver for Homebrew Parallel Port Receivers

config LIRC_SASEM
tristate "Sasem USB IR Remote"
- depends on LIRC_STAGING
+ depends on USB && LIRC && LIRC_STAGING
help
Driver for the Sasem OnAir Remocon-V or Dign HV5 HTPC IR/VFD Module

config LIRC_SERIAL
tristate "Homebrew Serial Port Receiver"
- depends on LIRC_STAGING
+ depends on LIRC && LIRC_STAGING
help
Driver for Homebrew Serial Port Receivers

@@ -85,25 +85,25 @@ config LIRC_SERIAL_TRANSMITTER

config LIRC_SIR
tristate "Built-in SIR IrDA port"
- depends on LIRC_STAGING
+ depends on LIRC && LIRC_STAGING
help
Driver for the SIR IrDA port

config LIRC_STREAMZAP
tristate "Streamzap PC Receiver"
- depends on LIRC_STAGING
+ depends on USB && LIRC && LIRC_STAGING
help
Driver for the Streamzap PC Receiver

config LIRC_TTUSBIR
tristate "Technotrend USB IR Receiver"
- depends on LIRC_STAGING && USB
+ depends on USB && LIRC && LIRC_STAGING && USB
help
Driver for the Technotrend USB IR Receiver

config LIRC_ZILOG
tristate "Zilog/Hauppauge IR Transmitter"
- depends on LIRC_STAGING
+ depends on I2C && LIRC && LIRC_STAGING
help
Driver for the Zilog/Hauppauge IR Transmitter, found on
PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards
--
1.7.2

2010-07-28 22:17:39

by Randy Dunlap

[permalink] [raw]
Subject: Re: linux-next: Tree for July 28 (lirc #2)

On 07/28/10 15:04, Janne Grunau wrote:
> On Wed, Jul 28, 2010 at 10:24:17AM -0700, Randy Dunlap wrote:
>> On Wed, 28 Jul 2010 16:28:55 +1000 Stephen Rothwell wrote:
>>
>>> Hi all,
>>>
>>> Changes since 20100727:
>>
>>
>> When USB_SUPPORT is not enabled and MEDIA_SUPPORT is not enabled:
>>
>
> following patch should fix it
>
> Janne

Acked-by: Randy Dunlap <[email protected]>

Thanks.


>
> From 7d1cc98c19a6c27dd74a28f04dfe4248a0b335ce Mon Sep 17 00:00:00 2001
> From: Janne Grunau <[email protected]>
> Date: Wed, 28 Jul 2010 23:53:35 +0200
> Subject: [PATCH 1/2] staging/lirc: fix Kconfig dependencies
>
> Signed-off-by: Janne Grunau <[email protected]>
> ---
> drivers/staging/lirc/Kconfig | 28 ++++++++++++++--------------
> 1 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/staging/lirc/Kconfig b/drivers/staging/lirc/Kconfig
> index 968c2ade..3981a4a 100644
> --- a/drivers/staging/lirc/Kconfig
> +++ b/drivers/staging/lirc/Kconfig
> @@ -13,13 +13,13 @@ if LIRC_STAGING
>
> config LIRC_BT829
> tristate "BT829 based hardware"
> - depends on LIRC_STAGING
> + depends on LIRC && LIRC_STAGING
> help
> Driver for the IR interface on BT829-based hardware
>
> config LIRC_ENE0100
> tristate "ENE KB3924/ENE0100 CIR Port Reciever"
> - depends on LIRC_STAGING
> + depends on LIRC && LIRC_STAGING
> help
> This is a driver for CIR port handled by ENE KB3924 embedded
> controller found on some notebooks.
> @@ -27,20 +27,20 @@ config LIRC_ENE0100
>
> config LIRC_I2C
> tristate "I2C Based IR Receivers"
> - depends on LIRC_STAGING
> + depends on I2C && LIRC && LIRC_STAGING
> help
> Driver for I2C-based IR receivers, such as those commonly
> found onboard Hauppauge PVR-150/250/350 video capture cards
>
> config LIRC_IGORPLUGUSB
> tristate "Igor Cesko's USB IR Receiver"
> - depends on LIRC_STAGING && USB
> + depends on USB && LIRC && LIRC_STAGING && USB
> help
> Driver for Igor Cesko's USB IR Receiver
>
> config LIRC_IMON
> tristate "Legacy SoundGraph iMON Receiver and Display"
> - depends on LIRC_STAGING
> + depends on LIRC && LIRC_STAGING
> help
> Driver for the original SoundGraph iMON IR Receiver and Display
>
> @@ -48,31 +48,31 @@ config LIRC_IMON
>
> config LIRC_IT87
> tristate "ITE IT87XX CIR Port Receiver"
> - depends on LIRC_STAGING
> + depends on LIRC && LIRC_STAGING
> help
> Driver for the ITE IT87xx IR Receiver
>
> config LIRC_ITE8709
> tristate "ITE8709 CIR Port Receiver"
> - depends on LIRC_STAGING && PNP
> + depends on LIRC && LIRC_STAGING && PNP
> help
> Driver for the ITE8709 IR Receiver
>
> config LIRC_PARALLEL
> tristate "Homebrew Parallel Port Receiver"
> - depends on LIRC_STAGING && !SMP
> + depends on LIRC && LIRC_STAGING && !SMP
> help
> Driver for Homebrew Parallel Port Receivers
>
> config LIRC_SASEM
> tristate "Sasem USB IR Remote"
> - depends on LIRC_STAGING
> + depends on USB && LIRC && LIRC_STAGING
> help
> Driver for the Sasem OnAir Remocon-V or Dign HV5 HTPC IR/VFD Module
>
> config LIRC_SERIAL
> tristate "Homebrew Serial Port Receiver"
> - depends on LIRC_STAGING
> + depends on LIRC && LIRC_STAGING
> help
> Driver for Homebrew Serial Port Receivers
>
> @@ -85,25 +85,25 @@ config LIRC_SERIAL_TRANSMITTER
>
> config LIRC_SIR
> tristate "Built-in SIR IrDA port"
> - depends on LIRC_STAGING
> + depends on LIRC && LIRC_STAGING
> help
> Driver for the SIR IrDA port
>
> config LIRC_STREAMZAP
> tristate "Streamzap PC Receiver"
> - depends on LIRC_STAGING
> + depends on USB && LIRC && LIRC_STAGING
> help
> Driver for the Streamzap PC Receiver
>
> config LIRC_TTUSBIR
> tristate "Technotrend USB IR Receiver"
> - depends on LIRC_STAGING && USB
> + depends on USB && LIRC && LIRC_STAGING && USB
> help
> Driver for the Technotrend USB IR Receiver
>
> config LIRC_ZILOG
> tristate "Zilog/Hauppauge IR Transmitter"
> - depends on LIRC_STAGING
> + depends on I2C && LIRC && LIRC_STAGING
> help
> Driver for the Zilog/Hauppauge IR Transmitter, found on
> PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards


--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2010-07-28 22:27:32

by Jarod Wilson

[permalink] [raw]
Subject: Re: linux-next: Tree for July 28 (lirc #2)

On Wed, Jul 28, 2010 at 6:16 PM, Randy Dunlap <[email protected]> wrote:
> On 07/28/10 15:04, Janne Grunau wrote:
>> On Wed, Jul 28, 2010 at 10:24:17AM -0700, Randy Dunlap wrote:
>>> On Wed, 28 Jul 2010 16:28:55 +1000 Stephen Rothwell wrote:
>>>
>>>> Hi all,
>>>>
>>>> Changes since 20100727:
>>>
>>>
>>> When USB_SUPPORT is not enabled and MEDIA_SUPPORT is not enabled:
>>>
>>
>> following patch should fix it
>>
>> Janne
>
> Acked-by: Randy Dunlap <[email protected]>
>
> Thanks.

Acked-by: Jarod Wilson <[email protected]>

Indeed, thanks much, Janne!


>> From 7d1cc98c19a6c27dd74a28f04dfe4248a0b335ce Mon Sep 17 00:00:00 2001
>> From: Janne Grunau <[email protected]>
>> Date: Wed, 28 Jul 2010 23:53:35 +0200
>> Subject: [PATCH 1/2] staging/lirc: fix Kconfig dependencies
>>
>> Signed-off-by: Janne Grunau <[email protected]>
>> ---
>> ?drivers/staging/lirc/Kconfig | ? 28 ++++++++++++++--------------
>> ?1 files changed, 14 insertions(+), 14 deletions(-)
>>
>> diff --git a/drivers/staging/lirc/Kconfig b/drivers/staging/lirc/Kconfig
>> index 968c2ade..3981a4a 100644
>> --- a/drivers/staging/lirc/Kconfig
>> +++ b/drivers/staging/lirc/Kconfig
>> @@ -13,13 +13,13 @@ if LIRC_STAGING
>>
>> ?config LIRC_BT829
>> ? ? ? ? ?tristate "BT829 based hardware"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? Driver for the IR interface on BT829-based hardware
>>
>> ?config LIRC_ENE0100
>> ? ? ? tristate "ENE KB3924/ENE0100 CIR Port Reciever"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? This is a driver for CIR port handled by ENE KB3924 embedded
>> ? ? ? ? controller found on some notebooks.
>> @@ -27,20 +27,20 @@ config LIRC_ENE0100
>>
>> ?config LIRC_I2C
>> ? ? ? tristate "I2C Based IR Receivers"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on I2C && LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? Driver for I2C-based IR receivers, such as those commonly
>> ? ? ? ? found onboard Hauppauge PVR-150/250/350 video capture cards
>>
>> ?config LIRC_IGORPLUGUSB
>> ? ? ? tristate "Igor Cesko's USB IR Receiver"
>> - ? ? depends on LIRC_STAGING && USB
>> + ? ? depends on USB && LIRC && LIRC_STAGING && USB
>> ? ? ? help
>> ? ? ? ? Driver for Igor Cesko's USB IR Receiver
>>
>> ?config LIRC_IMON
>> ? ? ? tristate "Legacy SoundGraph iMON Receiver and Display"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? Driver for the original SoundGraph iMON IR Receiver and Display
>>
>> @@ -48,31 +48,31 @@ config LIRC_IMON
>>
>> ?config LIRC_IT87
>> ? ? ? tristate "ITE IT87XX CIR Port Receiver"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? Driver for the ITE IT87xx IR Receiver
>>
>> ?config LIRC_ITE8709
>> ? ? ? tristate "ITE8709 CIR Port Receiver"
>> - ? ? depends on LIRC_STAGING && PNP
>> + ? ? depends on LIRC && LIRC_STAGING && PNP
>> ? ? ? help
>> ? ? ? ? Driver for the ITE8709 IR Receiver
>>
>> ?config LIRC_PARALLEL
>> ? ? ? tristate "Homebrew Parallel Port Receiver"
>> - ? ? depends on LIRC_STAGING && !SMP
>> + ? ? depends on LIRC && LIRC_STAGING && !SMP
>> ? ? ? help
>> ? ? ? ? Driver for Homebrew Parallel Port Receivers
>>
>> ?config LIRC_SASEM
>> ? ? ? tristate "Sasem USB IR Remote"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on USB && LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? Driver for the Sasem OnAir Remocon-V or Dign HV5 HTPC IR/VFD Module
>>
>> ?config LIRC_SERIAL
>> ? ? ? tristate "Homebrew Serial Port Receiver"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? Driver for Homebrew Serial Port Receivers
>>
>> @@ -85,25 +85,25 @@ config LIRC_SERIAL_TRANSMITTER
>>
>> ?config LIRC_SIR
>> ? ? ? tristate "Built-in SIR IrDA port"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? Driver for the SIR IrDA port
>>
>> ?config LIRC_STREAMZAP
>> ? ? ? tristate "Streamzap PC Receiver"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on USB && LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? Driver for the Streamzap PC Receiver
>>
>> ?config LIRC_TTUSBIR
>> ? ? ? tristate "Technotrend USB IR Receiver"
>> - ? ? depends on LIRC_STAGING && USB
>> + ? ? depends on USB && LIRC && LIRC_STAGING && USB
>> ? ? ? help
>> ? ? ? ? Driver for the Technotrend USB IR Receiver
>>
>> ?config LIRC_ZILOG
>> ? ? ? tristate "Zilog/Hauppauge IR Transmitter"
>> - ? ? depends on LIRC_STAGING
>> + ? ? depends on I2C && LIRC && LIRC_STAGING
>> ? ? ? help
>> ? ? ? ? Driver for the Zilog/Hauppauge IR Transmitter, found on
>> ? ? ? ? PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards
>
>
> --
> ~Randy
> *** Remember to use Documentation/SubmitChecklist when testing your code ***
>



--
Jarod Wilson
[email protected]

2010-07-29 04:27:06

by Jarod Wilson

[permalink] [raw]
Subject: Re: linux-next: Tree for July 28 (lirc #2)

On Wed, Jul 28, 2010 at 6:27 PM, Jarod Wilson <[email protected]> wrote:
> On Wed, Jul 28, 2010 at 6:16 PM, Randy Dunlap <[email protected]> wrote:
>> On 07/28/10 15:04, Janne Grunau wrote:
>>> On Wed, Jul 28, 2010 at 10:24:17AM -0700, Randy Dunlap wrote:
>>>> On Wed, 28 Jul 2010 16:28:55 +1000 Stephen Rothwell wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> Changes since 20100727:
>>>>
>>>>
>>>> When USB_SUPPORT is not enabled and MEDIA_SUPPORT is not enabled:
>>>>
>>>
>>> following patch should fix it
>>>
>>> Janne
>>
>> Acked-by: Randy Dunlap <[email protected]>
>>
>> Thanks.
>
> Acked-by: Jarod Wilson <[email protected]>
>
> Indeed, thanks much, Janne!

D'oh, I should have looked a bit closer... What if instead of making
all the drivers depend on both LIRC && LIRC_STAGING, LIRC_STAGING just
depends on LIRC? And there are a few depends lines with duplicate
USB's in them and LIRC_IMON should have USB added to it (technically,
I think ene0100 should also have a PNP, but we already have patches
pending that move it from staging to an ir-core driver).

--
Jarod Wilson
[email protected]

2010-07-29 12:39:05

by Janne Grunau

[permalink] [raw]
Subject: Re: linux-next: Tree for July 28 (lirc #2)

On Thu, Jul 29, 2010 at 12:27:01AM -0400, Jarod Wilson wrote:
> On Wed, Jul 28, 2010 at 6:27 PM, Jarod Wilson <[email protected]> wrote:
> > On Wed, Jul 28, 2010 at 6:16 PM, Randy Dunlap <[email protected]> wrote:
> >> On 07/28/10 15:04, Janne Grunau wrote:
> >>> On Wed, Jul 28, 2010 at 10:24:17AM -0700, Randy Dunlap wrote:
> >>>> On Wed, 28 Jul 2010 16:28:55 +1000 Stephen Rothwell wrote:
> >>>>
> >>>>> Hi all,
> >>>>>
> >>>>> Changes since 20100727:
> >>>>
> >>>>
> >>>> When USB_SUPPORT is not enabled and MEDIA_SUPPORT is not enabled:
> >>>>
> >>>
> >>> following patch should fix it
> >>>
> >>> Janne
> >>
> >> Acked-by: Randy Dunlap <[email protected]>
> >>
> >> Thanks.
> >
> > Acked-by: Jarod Wilson <[email protected]>
> >
> > Indeed, thanks much, Janne!
>
> D'oh, I should have looked a bit closer... What if instead of making
> all the drivers depend on both LIRC && LIRC_STAGING, LIRC_STAGING just
> depends on LIRC?

I started adding LIRC to each driver by one. Adding LIRC as LIRC_STAGING
dependency is simpler. See updated patch.

> And there are a few depends lines with duplicate
> USB's in them and LIRC_IMON should have USB added to it (technically,

D'oh, I've must have stopped reading after LIRC_STAG...

fixed and added additional dependencies

Janne


>From 45d384de90e3709a986700db14888eff77bb7e1f Mon Sep 17 00:00:00 2001
From: Janne Grunau <[email protected]>
Date: Wed, 28 Jul 2010 23:53:35 +0200
Subject: [PATCH 1/2] V4L/DVB: staging/lirc: fix Kconfig dependencies

Signed-off-by: Janne Grunau <[email protected]>
---
drivers/staging/lirc/Kconfig | 19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/lirc/Kconfig b/drivers/staging/lirc/Kconfig
index 968c2ade..ab30a09 100644
--- a/drivers/staging/lirc/Kconfig
+++ b/drivers/staging/lirc/Kconfig
@@ -3,6 +3,7 @@
#
menuconfig LIRC_STAGING
bool "Linux Infrared Remote Control IR receiver/transmitter drivers"
+ depends on LIRC
help
Say Y here, and all supported Linux Infrared Remote Control IR and
RF receiver and transmitter drivers will be displayed. When paired
@@ -13,13 +14,13 @@ if LIRC_STAGING

config LIRC_BT829
tristate "BT829 based hardware"
- depends on LIRC_STAGING
+ depends on LIRC_STAGING && PCI
help
Driver for the IR interface on BT829-based hardware

config LIRC_ENE0100
tristate "ENE KB3924/ENE0100 CIR Port Reciever"
- depends on LIRC_STAGING
+ depends on LIRC_STAGING && PNP
help
This is a driver for CIR port handled by ENE KB3924 embedded
controller found on some notebooks.
@@ -27,7 +28,7 @@ config LIRC_ENE0100

config LIRC_I2C
tristate "I2C Based IR Receivers"
- depends on LIRC_STAGING
+ depends on LIRC_STAGING && I2C
help
Driver for I2C-based IR receivers, such as those commonly
found onboard Hauppauge PVR-150/250/350 video capture cards
@@ -40,7 +41,7 @@ config LIRC_IGORPLUGUSB

config LIRC_IMON
tristate "Legacy SoundGraph iMON Receiver and Display"
- depends on LIRC_STAGING
+ depends on LIRC_STAGING && USB
help
Driver for the original SoundGraph iMON IR Receiver and Display

@@ -48,7 +49,7 @@ config LIRC_IMON

config LIRC_IT87
tristate "ITE IT87XX CIR Port Receiver"
- depends on LIRC_STAGING
+ depends on LIRC_STAGING && PNP
help
Driver for the ITE IT87xx IR Receiver

@@ -60,13 +61,13 @@ config LIRC_ITE8709

config LIRC_PARALLEL
tristate "Homebrew Parallel Port Receiver"
- depends on LIRC_STAGING && !SMP
+ depends on LIRC_STAGING && PARPORT && !SMP
help
Driver for Homebrew Parallel Port Receivers

config LIRC_SASEM
tristate "Sasem USB IR Remote"
- depends on LIRC_STAGING
+ depends on LIRC_STAGING && USB
help
Driver for the Sasem OnAir Remocon-V or Dign HV5 HTPC IR/VFD Module

@@ -91,7 +92,7 @@ config LIRC_SIR

config LIRC_STREAMZAP
tristate "Streamzap PC Receiver"
- depends on LIRC_STAGING
+ depends on LIRC_STAGING && USB
help
Driver for the Streamzap PC Receiver

@@ -103,7 +104,7 @@ config LIRC_TTUSBIR

config LIRC_ZILOG
tristate "Zilog/Hauppauge IR Transmitter"
- depends on LIRC_STAGING
+ depends on LIRC_STAGING && I2C
help
Driver for the Zilog/Hauppauge IR Transmitter, found on
PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards
--
1.7.2

2010-07-29 15:11:10

by Jarod Wilson

[permalink] [raw]
Subject: Re: linux-next: Tree for July 28 (lirc #2)

On Thu, Jul 29, 2010 at 8:39 AM, Janne Grunau <[email protected]> wrote:
> On Thu, Jul 29, 2010 at 12:27:01AM -0400, Jarod Wilson wrote:
>> On Wed, Jul 28, 2010 at 6:27 PM, Jarod Wilson <[email protected]> wrote:
>> > On Wed, Jul 28, 2010 at 6:16 PM, Randy Dunlap <[email protected]> wrote:
>> >> On 07/28/10 15:04, Janne Grunau wrote:
>> >>> On Wed, Jul 28, 2010 at 10:24:17AM -0700, Randy Dunlap wrote:
>> >>>> On Wed, 28 Jul 2010 16:28:55 +1000 Stephen Rothwell wrote:
>> >>>>
>> >>>>> Hi all,
>> >>>>>
>> >>>>> Changes since 20100727:
>> >>>>
>> >>>>
>> >>>> When USB_SUPPORT is not enabled and MEDIA_SUPPORT is not enabled:
>> >>>>
>> >>>
>> >>> following patch should fix it
>> >>>
>> >>> Janne
>> >>
>> >> Acked-by: Randy Dunlap <[email protected]>
>> >>
>> >> Thanks.
>> >
>> > Acked-by: Jarod Wilson <[email protected]>
>> >
>> > Indeed, thanks much, Janne!
>>
>> D'oh, I should have looked a bit closer... What if instead of making
>> all the drivers depend on both LIRC && LIRC_STAGING, LIRC_STAGING just
>> depends on LIRC?
>
> I started adding LIRC to each driver by one. Adding LIRC as LIRC_STAGING
> dependency is simpler. See updated patch.
>
>> And there are a few depends lines with duplicate
>> USB's in them and LIRC_IMON should have USB added to it (technically,
>
> D'oh, I've must have stopped reading after LIRC_STAG...
>
> fixed and added additional dependencies

Yeah, that looks better, thanks! (And this time I looked more carefully).

Acked-by: Jarod Wilson <[email protected]>

--
Jarod Wilson
[email protected]

2010-07-29 15:46:35

by Jarod Wilson

[permalink] [raw]
Subject: [PATCH] staging/lirc: fix non-CONFIG_MODULES build horkage

Fix when CONFIG_MODULES is not enabled:

drivers/staging/lirc/lirc_parallel.c:243: error: implicit declaration of function 'module_refcount'
drivers/staging/lirc/lirc_it87.c:150: error: implicit declaration of function 'module_refcount'
drivers/built-in.o: In function `it87_probe':
lirc_it87.c:(.text+0x4079b0): undefined reference to `init_chrdev'
lirc_it87.c:(.text+0x4079cc): undefined reference to `drop_chrdev'
drivers/built-in.o: In function `lirc_it87_exit':
lirc_it87.c:(.exit.text+0x38a5): undefined reference to `drop_chrdev'

Its a quick hack and untested beyond building, since I don't have the
hardware, but it should do the trick.

Signed-off-by: Jarod Wilson <[email protected]>
---
drivers/staging/lirc/lirc_it87.c | 9 ++++++---
drivers/staging/lirc/lirc_parallel.c | 4 ++--
2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/lirc/lirc_it87.c b/drivers/staging/lirc/lirc_it87.c
index 781abc3..72f07f1 100644
--- a/drivers/staging/lirc/lirc_it87.c
+++ b/drivers/staging/lirc/lirc_it87.c
@@ -109,6 +109,7 @@ static DECLARE_WAIT_QUEUE_HEAD(lirc_read_queue);

static DEFINE_SPINLOCK(hardware_lock);
static DEFINE_SPINLOCK(dev_lock);
+static bool device_open;

static int rx_buf[RBUF_LEN];
unsigned int rx_tail, rx_head;
@@ -147,10 +148,11 @@ static void drop_port(void);
static int lirc_open(struct inode *inode, struct file *file)
{
spin_lock(&dev_lock);
- if (module_refcount(THIS_MODULE)) {
+ if (device_open) {
spin_unlock(&dev_lock);
return -EBUSY;
}
+ device_open = true;
spin_unlock(&dev_lock);
return 0;
}
@@ -158,6 +160,9 @@ static int lirc_open(struct inode *inode, struct file *file)

static int lirc_close(struct inode *inode, struct file *file)
{
+ spin_lock(&dev_lock);
+ device_open = false;
+ spin_unlock(&dev_lock);
return 0;
}

@@ -363,7 +368,6 @@ static struct lirc_driver driver = {
};


-#ifdef MODULE
static int init_chrdev(void)
{
driver.minor = lirc_register_driver(&driver);
@@ -380,7 +384,6 @@ static void drop_chrdev(void)
{
lirc_unregister_driver(driver.minor);
}
-#endif


/* SECTION: Hardware */
diff --git a/drivers/staging/lirc/lirc_parallel.c b/drivers/staging/lirc/lirc_parallel.c
index df12e7b..04ce97713 100644
--- a/drivers/staging/lirc/lirc_parallel.c
+++ b/drivers/staging/lirc/lirc_parallel.c
@@ -240,7 +240,7 @@ static void irq_handler(void *blah)
unsigned int level, newlevel;
unsigned int timeout;

- if (!module_refcount(THIS_MODULE))
+ if (!is_open)
return;

if (!is_claimed)
@@ -515,7 +515,7 @@ static long lirc_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)

static int lirc_open(struct inode *node, struct file *filep)
{
- if (module_refcount(THIS_MODULE) || !lirc_claim())
+ if (is_open || !lirc_claim())
return -EBUSY;

parport_enable_irq(pport);


--
Jarod Wilson
[email protected]

2010-07-29 16:26:55

by Randy Dunlap

[permalink] [raw]
Subject: Re: linux-next: Tree for July 28 (lirc #2)

On 07/29/10 05:39, Janne Grunau wrote:
> On Thu, Jul 29, 2010 at 12:27:01AM -0400, Jarod Wilson wrote:
>> On Wed, Jul 28, 2010 at 6:27 PM, Jarod Wilson <[email protected]> wrote:
>>> On Wed, Jul 28, 2010 at 6:16 PM, Randy Dunlap <[email protected]> wrote:
>>>> On 07/28/10 15:04, Janne Grunau wrote:
>>>>> On Wed, Jul 28, 2010 at 10:24:17AM -0700, Randy Dunlap wrote:
>>>>>> On Wed, 28 Jul 2010 16:28:55 +1000 Stephen Rothwell wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> Changes since 20100727:
>>>>>>
>>>>>>
>>>>>> When USB_SUPPORT is not enabled and MEDIA_SUPPORT is not enabled:
>>>>>>
>>>>>
>>>>> following patch should fix it
>>>>>
>>>>> Janne
>>>>
>>>> Acked-by: Randy Dunlap <[email protected]>
>>>>
>>>> Thanks.
>>>
>>> Acked-by: Jarod Wilson <[email protected]>
>>>
>>> Indeed, thanks much, Janne!
>>
>> D'oh, I should have looked a bit closer... What if instead of making
>> all the drivers depend on both LIRC && LIRC_STAGING, LIRC_STAGING just
>> depends on LIRC?
>
> I started adding LIRC to each driver by one. Adding LIRC as LIRC_STAGING
> dependency is simpler. See updated patch.
>
>> And there are a few depends lines with duplicate
>> USB's in them and LIRC_IMON should have USB added to it (technically,
>
> D'oh, I've must have stopped reading after LIRC_STAG...
>
> fixed and added additional dependencies
>
> Janne

Yes, this one works also. Thanks for the update.

>
> From 45d384de90e3709a986700db14888eff77bb7e1f Mon Sep 17 00:00:00 2001
> From: Janne Grunau <[email protected]>
> Date: Wed, 28 Jul 2010 23:53:35 +0200
> Subject: [PATCH 1/2] V4L/DVB: staging/lirc: fix Kconfig dependencies
>
> Signed-off-by: Janne Grunau <[email protected]>
> ---
> drivers/staging/lirc/Kconfig | 19 ++++++++++---------
> 1 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/staging/lirc/Kconfig b/drivers/staging/lirc/Kconfig
> index 968c2ade..ab30a09 100644
> --- a/drivers/staging/lirc/Kconfig
> +++ b/drivers/staging/lirc/Kconfig
> @@ -3,6 +3,7 @@
> #
> menuconfig LIRC_STAGING
> bool "Linux Infrared Remote Control IR receiver/transmitter drivers"
> + depends on LIRC
> help
> Say Y here, and all supported Linux Infrared Remote Control IR and
> RF receiver and transmitter drivers will be displayed. When paired
> @@ -13,13 +14,13 @@ if LIRC_STAGING
>
> config LIRC_BT829
> tristate "BT829 based hardware"
> - depends on LIRC_STAGING
> + depends on LIRC_STAGING && PCI
> help
> Driver for the IR interface on BT829-based hardware
>
> config LIRC_ENE0100
> tristate "ENE KB3924/ENE0100 CIR Port Reciever"
> - depends on LIRC_STAGING
> + depends on LIRC_STAGING && PNP
> help
> This is a driver for CIR port handled by ENE KB3924 embedded
> controller found on some notebooks.
> @@ -27,7 +28,7 @@ config LIRC_ENE0100
>
> config LIRC_I2C
> tristate "I2C Based IR Receivers"
> - depends on LIRC_STAGING
> + depends on LIRC_STAGING && I2C
> help
> Driver for I2C-based IR receivers, such as those commonly
> found onboard Hauppauge PVR-150/250/350 video capture cards
> @@ -40,7 +41,7 @@ config LIRC_IGORPLUGUSB
>
> config LIRC_IMON
> tristate "Legacy SoundGraph iMON Receiver and Display"
> - depends on LIRC_STAGING
> + depends on LIRC_STAGING && USB
> help
> Driver for the original SoundGraph iMON IR Receiver and Display
>
> @@ -48,7 +49,7 @@ config LIRC_IMON
>
> config LIRC_IT87
> tristate "ITE IT87XX CIR Port Receiver"
> - depends on LIRC_STAGING
> + depends on LIRC_STAGING && PNP
> help
> Driver for the ITE IT87xx IR Receiver
>
> @@ -60,13 +61,13 @@ config LIRC_ITE8709
>
> config LIRC_PARALLEL
> tristate "Homebrew Parallel Port Receiver"
> - depends on LIRC_STAGING && !SMP
> + depends on LIRC_STAGING && PARPORT && !SMP
> help
> Driver for Homebrew Parallel Port Receivers
>
> config LIRC_SASEM
> tristate "Sasem USB IR Remote"
> - depends on LIRC_STAGING
> + depends on LIRC_STAGING && USB
> help
> Driver for the Sasem OnAir Remocon-V or Dign HV5 HTPC IR/VFD Module
>
> @@ -91,7 +92,7 @@ config LIRC_SIR
>
> config LIRC_STREAMZAP
> tristate "Streamzap PC Receiver"
> - depends on LIRC_STAGING
> + depends on LIRC_STAGING && USB
> help
> Driver for the Streamzap PC Receiver
>
> @@ -103,7 +104,7 @@ config LIRC_TTUSBIR
>
> config LIRC_ZILOG
> tristate "Zilog/Hauppauge IR Transmitter"
> - depends on LIRC_STAGING
> + depends on LIRC_STAGING && I2C
> help
> Driver for the Zilog/Hauppauge IR Transmitter, found on
> PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards


--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2010-07-29 16:27:18

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] staging/lirc: fix non-CONFIG_MODULES build horkage

On 07/29/10 08:35, Jarod Wilson wrote:
> Fix when CONFIG_MODULES is not enabled:
>
> drivers/staging/lirc/lirc_parallel.c:243: error: implicit declaration of function 'module_refcount'
> drivers/staging/lirc/lirc_it87.c:150: error: implicit declaration of function 'module_refcount'
> drivers/built-in.o: In function `it87_probe':
> lirc_it87.c:(.text+0x4079b0): undefined reference to `init_chrdev'
> lirc_it87.c:(.text+0x4079cc): undefined reference to `drop_chrdev'
> drivers/built-in.o: In function `lirc_it87_exit':
> lirc_it87.c:(.exit.text+0x38a5): undefined reference to `drop_chrdev'
>
> Its a quick hack and untested beyond building, since I don't have the
> hardware, but it should do the trick.
>
> Signed-off-by: Jarod Wilson <[email protected]>

Acked-by: Randy Dunlap <[email protected]>

Thanks.

> ---
> drivers/staging/lirc/lirc_it87.c | 9 ++++++---
> drivers/staging/lirc/lirc_parallel.c | 4 ++--
> 2 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/staging/lirc/lirc_it87.c b/drivers/staging/lirc/lirc_it87.c
> index 781abc3..72f07f1 100644
> --- a/drivers/staging/lirc/lirc_it87.c
> +++ b/drivers/staging/lirc/lirc_it87.c
> @@ -109,6 +109,7 @@ static DECLARE_WAIT_QUEUE_HEAD(lirc_read_queue);
>
> static DEFINE_SPINLOCK(hardware_lock);
> static DEFINE_SPINLOCK(dev_lock);
> +static bool device_open;
>
> static int rx_buf[RBUF_LEN];
> unsigned int rx_tail, rx_head;
> @@ -147,10 +148,11 @@ static void drop_port(void);
> static int lirc_open(struct inode *inode, struct file *file)
> {
> spin_lock(&dev_lock);
> - if (module_refcount(THIS_MODULE)) {
> + if (device_open) {
> spin_unlock(&dev_lock);
> return -EBUSY;
> }
> + device_open = true;
> spin_unlock(&dev_lock);
> return 0;
> }
> @@ -158,6 +160,9 @@ static int lirc_open(struct inode *inode, struct file *file)
>
> static int lirc_close(struct inode *inode, struct file *file)
> {
> + spin_lock(&dev_lock);
> + device_open = false;
> + spin_unlock(&dev_lock);
> return 0;
> }
>
> @@ -363,7 +368,6 @@ static struct lirc_driver driver = {
> };
>
>
> -#ifdef MODULE
> static int init_chrdev(void)
> {
> driver.minor = lirc_register_driver(&driver);
> @@ -380,7 +384,6 @@ static void drop_chrdev(void)
> {
> lirc_unregister_driver(driver.minor);
> }
> -#endif
>
>
> /* SECTION: Hardware */
> diff --git a/drivers/staging/lirc/lirc_parallel.c b/drivers/staging/lirc/lirc_parallel.c
> index df12e7b..04ce97713 100644
> --- a/drivers/staging/lirc/lirc_parallel.c
> +++ b/drivers/staging/lirc/lirc_parallel.c
> @@ -240,7 +240,7 @@ static void irq_handler(void *blah)
> unsigned int level, newlevel;
> unsigned int timeout;
>
> - if (!module_refcount(THIS_MODULE))
> + if (!is_open)
> return;
>
> if (!is_claimed)
> @@ -515,7 +515,7 @@ static long lirc_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
>
> static int lirc_open(struct inode *node, struct file *filep)
> {
> - if (module_refcount(THIS_MODULE) || !lirc_claim())
> + if (is_open || !lirc_claim())
> return -EBUSY;
>
> parport_enable_irq(pport);
>
>


--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***