31 Jul, 2007

14 commits

  • linux/dvb/video.h uses types __u32, __s32, etc., but does not include
    any header defining those when __KERNEL__ is not defined.

    Fix this by including asm/types.h when __KERNEL__ is not defined.

    Signed-off-by: Anssi Hannula
    Signed-off-by: Michael Krufky
    Signed-off-by: Mauro Carvalho Chehab

    Anssi Hannula
     
  • When raw capture was turned off, the current capturing frame (v4l_grab_frame)
    wasn't reset to NO_GRAB_ACTIVE. If capture was turned back on, the driver
    would think this frame was currently being captured, and wait for it to
    complete before starting a new frame. The hardware on the other hand would
    not be actively capturing a frame. The result was the driver would wait
    forever for v4l_grab_frame to be captured.

    Some calls to zr36057_set_memgrab(0) were missing spin-locks, which have been
    added.

    Signed-off-by: Trent Piepho
    Acked-by: Ronald S. Bultje
    Signed-off-by: Mauro Carvalho Chehab

    Trent Piepho
     
  • Add support for the UYVY and the other big endian output formats. The
    driver was naming formats based on the host endianess. This is different
    that all the other drivers appear to work and not what software appears
    to expect.

    Use ARRAY_SIZE() to find the the size of the zoran_formats array.

    Change the way the driver handles setting the video format register. Rather
    than use some if and switch statements to set to register by looking at the
    format id, the format list simply has a field with the proper bits to set.

    Adds a bit of ifdef to make a driver without V4L1 support more possible.
    Also create a macro for defining formats that handles vl41 and/or vl42
    support to avoid repeated ifdefs in the format list.

    Signed-off-by: Trent Piepho
    Acked-by: Ronald S. Bultje
    Signed-off-by: Mauro Carvalho Chehab

    Trent Piepho
     
  • The driver was returning the size of the (fixed) buffer it allocated as the
    sizeimage field in the v4l2 pixel format, rather than the actual size of the
    image. For example, a 192x128 YUYV image is 49152 bytes but the driver would
    always return 131072 bytes since if that was the size of the v4l buffer.

    This violates the v4l2 spec, which says that sizeimage should be the actual
    size of the image for uncompressed formats. It also caused mplayer to crash.

    Signed-off-by: Trent Piepho
    Acked-by: Ronald S. Bultje
    Signed-off-by: Mauro Carvalho Chehab

    Trent Piepho
     
  • During uncompressed capture, the poll() function was looking the wrong frame.
    It was using the frame the driver was going to capture into next (pend_tail),
    when it should have been looking at the next frame to be de-queued with
    DQBUF/SYNC (sync_tail).

    It also wasn't looking in the right spot. It was looking at the file handle's
    copy of the buffer status, rather than the driver core copy. The interrupt
    routine marks frames as done in the driver core copy, the file handle copy
    isn't updated. So even if poll() looked at the right frame, it would never
    see it transition to done and return POLLIN.

    The compressed capture code has this same problem, looking in fh->jpg_buffers
    when it should have used zr->jpg_buffers.

    There was some logic to detect when there was no current capture in process
    nor any frames queued and try to return an error, which ends up being a bad
    idea. It's possible to call select() from one thread while no capture is in
    process, or no frames queued, and then start a capture or queue frames from
    another thread.

    The buffer state variables are protected by a spin lock, which the code wasn't
    acquiring. That is fixed too.

    Signed-off-by: Trent Piepho
    Acked-by: Ronald S. Bultje
    Signed-off-by: Mauro Carvalho Chehab

    Trent Piepho
     
  • The zr36067 driver doesn't make a distinction between the different sub-types
    of NTSC, PAL, or SECAM norms. For example, when the enum std ioctl returns
    the PAL standard it returns PAL_BG|PAL_DK|PAL_H|PAL_I.

    When setting the norm, it required the bitmask to match exactly the set of
    norms used during the enumeration. If just one norm was specified, for
    example PAL_BG or NTSC_M, it would fail. This violates the V4L2 spec,
    "VIDIOC_S_STD accepts *one* or more flags..."

    The key thing to realize is that V4L2_STD_PAL is not one bit, it is multiple
    bits. It's ok to call S_STD with any *one* of those bits, but the driver was
    requiring *all* of them.

    This fixes the S_STD function so that it will accept any set of one or more
    PAL norms as PAL, and the same for NTSC and SECAM.

    Signed-off-by: Trent Piepho
    Acked-by: Ronald S. Bultje
    Signed-off-by: Mauro Carvalho Chehab

    Trent Piepho
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Fix show_stack() when stack argument is NULL.
    [SPARC]: Fix serial console node string creation.
    [SPARC]: Mark SBUS framebuffer ioctls as IGNORE in compat_ioctl.c
    [SPARC64]: asm-sparc64/floppy.h needs linux/pci.h
    [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling.
    [VIDEO]: Fix OOPS in all SBUS framebuffer drivers.
    [SPARC64]: Handle mostek clock type in mini_rtc driver.
    [PARTITION]: Sun/Solaris VTOC table corrections
    [SPARC]: Fix floppy on some sun4c systems.
    [SPARC64]: Fix sun4u PCI config space accesses on sun4u.
    [PARTITION] MSDOS: Fix Sun num_partitions handling.
    [SPARC]: Update defconfig.

    Linus Torvalds
     
  • Commit 296699de6bdc717189a331ab6bbe90e05c94db06 broke building APM
    support if CONFIG_PM_SLEEP is not set.

    Reported by Toralf Förster

    Signed-off-by: Stephen Rothwell
    [ Simplified a bit as suggested by Rafael. -Linus ]
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch fixes the m32r build after the commit "Remove fs.h from mm.h"
    was merged (commit 4e950f6f0189f65f8bf069cf2272649ef418f5e4).

    Signed-off-by: Hirokazu Takata
    Signed-off-by: Linus Torvalds

    Hirokazu Takata
     
  • Added code to recognize the second interface on M5275 boards.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Mike Cruse
     
  • On the MCF5272, there is no need to read the ICR before writing it :
    the bit 4n+3 is a write-enable for the bits 4n,4n+1 and 4n+2.

    Signed-off-by: Philippe De Muyter
    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Fix the work queue code in the FEC driver.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Removed unused CONFIG symbol and its conditional code from FEC driver.
    Pointed out by Robert P. J. Day .

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Include cacheflush.h to get definitions for cache functions used
    in this code.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     

30 Jul, 2007

18 commits

  • It didn't handle that case at all, and now dump_stack()
    can be implemented directly as show_stack(current, NULL)

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The string setting code depends upon the original value of the
    "skip" variable, not the one that gets modified by the node
    traversal loop.

    Based upon a patch by Mark Fortescue.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • They are handled in a ->compat_ioctl() handler, so it's just noise
    when compat_ioctl.c warns which occurs when they are used on non-SBUS
    framebuffer devices.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • It uses pci_dev, calls pci_map_*(), etc.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Fully unify all of the DMA ops so that subordinate bus types to
    the DMA operation providers (such as ebus, isa, of_device) can
    work transparently.

    Basically, we just make sure that for every system device we
    create, the dev->archdata 'iommu' and 'stc' fields are filled
    in.

    Then we have two platform variants of the DMA ops, one for SUN4U which
    actually programs the real hardware, and one for SUN4V which makes
    hypervisor calls.

    This also fixes the crashes in parport_pc on sparc64, reported by
    Meelis Roos.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • All of these drivers use a silly:

    struct all_info {
    struct fb_info info;
    struct foo_par par;
    };

    struct all_info *all = kzalloc(sizeof(*all), GFP_KERNEL);
    all->info.par = &all->par;

    etc. etc. code sequence, basically replicating the provided
    framebuffer_alloc()/framebuffer_release(), and doing it badly.

    Not only is this massive code duplication, it also caused a
    bug in that we weren't setting the fb_info->device pointer
    which results in an OOPS when fb_is_primary_device() runs.

    Fix all of this by using framebuffer_{alloc,release}() and
    passing in "&of_device->dev" as the device pointer.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Now that drivers/sbus/char/rtc.c is sparc32 only, we need this.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Start doing VTOC validation before using its contents.
    The validation is adjusted so as not to break existing setups
    that do not set the VTOC version, sanity and partition count entries.
    VTOC tables with more than 8 partitions will NOT be used.

    Signed-off-by: Mark Fortescue
    Signed-off-by: David S. Miller

    Mark
     
  • Add in code to support an 82077 FDC on sun4c systems. There is a
    problem with spurious interrupts but it does apear to work.

    Testing on my SS2 (82072A FDC) shows that the floppy driver is not
    100% with sun4c any way (any spurious interrupt kills it, requiring a
    reboot to recover).

    Signed-off-by: Mark Fortescue
    Signed-off-by: David S. Miller

    Mark
     
  • Don't provide fake PCI config space for sun4u.

    Also, put back the funny host controller space handling that
    at least Sabre needs. You have to read PCI host controller
    registers at their nature size otherwise you get zeros instead
    of correct values.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Correct the Solaris x86 number of partitions (slices) is a way that is
    backward compatible with the earlier size.

    This works without a new VTOC structure definition as the timestamp
    and v_asciilabel fields in the VTOC are not used by the kernel yet.

    Signed-off-by: Mark Fortescue
    Signed-off-by: David S. Miller

    Mark
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Gabriel C reports lguest doesn't compile with CONFIG_BLOCK=n. Fix this
    by introducing a config var for the block device, which depends on
    LGUEST && BLOCK. Do the same for the net driver, rather then depending
    gratuitously on CONFIG_NET.

    Signed-off-by: Rusty Russell
    Cc: Gabriel C
    Signed-off-by: Linus Torvalds

    Rusty Russell
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (28 commits)
    [SCSI] mpt fusion: Changes in mptctl.c for logging support
    [SCSI] mpt fusion: Changes in mptfc.c mptlan.c mptsas.c and mptspi.c for logging support
    [SCSI] mpt fusion: Changes in mptscsih.c for logging support
    [SCSI] mpt fusion: Changes in mptbase.c for logging support
    [SCSI] mpt fusion: logging support in Kconfig, Makefile, mptbase.h and addition of mptdebug.h
    [SCSI] libsas: Fix potential NULL dereference in sas_smp_get_phy_events()
    [SCSI] bsg: Fix build for CONFIG_BLOCK=n
    [SCSI] aacraid: fix Sunrise Lake reset handling
    [SCSI] aacraid: add SCSI SYNCHONIZE_CACHE range checking
    [SCSI] add easyRAID to the no report luns blacklist
    [SCSI] advansys: lindent and other large, uninteresting changes
    [SCSI] aic79xx, aic7xxx: Fix incorrect width setting
    [SCSI] qla2xxx: fix to honor ignored parameters in sysfs attributes
    [SCSI] aacraid: draw line in sand, sundry cleanup and version update
    [SCSI] iscsi_tcp: Turn off bounce buffers
    [SCSI] libiscsi: fix cmd seqeunce number checking
    [SCSI] iscsi_tcp, ib_iser Enable module refcounting for iscsi host template
    [SCSI] libiscsi: make sure session is not blocked when removing host
    [SCSI] libsas: Remove PCI dependencies
    [SCSI] simscsi: convert to use the data buffer accessors
    ...

    Linus Torvalds
     
  • Remove fs.h from mm.h. For this,
    1) Uninline vma_wants_writenotify(). It's pretty huge anyway.
    2) Add back fs.h or less bloated headers (err.h) to files that need it.

    As result, on x86_64 allyesconfig, fs.h dependencies cut down from 3929 files
    rebuilt down to 3444 (-12.3%).

    Cross-compile tested without regressions on my two usual configs and (sigh):

    alpha arm-mx1ads mips-bigsur powerpc-ebony
    alpha-allnoconfig arm-neponset mips-capcella powerpc-g5
    alpha-defconfig arm-netwinder mips-cobalt powerpc-holly
    alpha-up arm-netx mips-db1000 powerpc-iseries
    arm arm-ns9xxx mips-db1100 powerpc-linkstation
    arm-assabet arm-omap_h2_1610 mips-db1200 powerpc-lite5200
    arm-at91rm9200dk arm-onearm mips-db1500 powerpc-maple
    arm-at91rm9200ek arm-picotux200 mips-db1550 powerpc-mpc7448_hpc2
    arm-at91sam9260ek arm-pleb mips-ddb5477 powerpc-mpc8272_ads
    arm-at91sam9261ek arm-pnx4008 mips-decstation powerpc-mpc8313_rdb
    arm-at91sam9263ek arm-pxa255-idp mips-e55 powerpc-mpc832x_mds
    arm-at91sam9rlek arm-realview mips-emma2rh powerpc-mpc832x_rdb
    arm-ateb9200 arm-realview-smp mips-excite powerpc-mpc834x_itx
    arm-badge4 arm-rpc mips-fulong powerpc-mpc834x_itxgp
    arm-carmeva arm-s3c2410 mips-ip22 powerpc-mpc834x_mds
    arm-cerfcube arm-shannon mips-ip27 powerpc-mpc836x_mds
    arm-clps7500 arm-shark mips-ip32 powerpc-mpc8540_ads
    arm-collie arm-simpad mips-jazz powerpc-mpc8544_ds
    arm-corgi arm-spitz mips-jmr3927 powerpc-mpc8560_ads
    arm-csb337 arm-trizeps4 mips-malta powerpc-mpc8568mds
    arm-csb637 arm-versatile mips-mipssim powerpc-mpc85xx_cds
    arm-ebsa110 i386 mips-mpc30x powerpc-mpc8641_hpcn
    arm-edb7211 i386-allnoconfig mips-msp71xx powerpc-mpc866_ads
    arm-em_x270 i386-defconfig mips-ocelot powerpc-mpc885_ads
    arm-ep93xx i386-up mips-pb1100 powerpc-pasemi
    arm-footbridge ia64 mips-pb1500 powerpc-pmac32
    arm-fortunet ia64-allnoconfig mips-pb1550 powerpc-ppc64
    arm-h3600 ia64-bigsur mips-pnx8550-jbs powerpc-prpmc2800
    arm-h7201 ia64-defconfig mips-pnx8550-stb810 powerpc-ps3
    arm-h7202 ia64-gensparse mips-qemu powerpc-pseries
    arm-hackkit ia64-sim mips-rbhma4200 powerpc-up
    arm-integrator ia64-sn2 mips-rbhma4500 s390
    arm-iop13xx ia64-tiger mips-rm200 s390-allnoconfig
    arm-iop32x ia64-up mips-sb1250-swarm s390-defconfig
    arm-iop33x ia64-zx1 mips-sead s390-up
    arm-ixp2000 m68k mips-tb0219 sparc
    arm-ixp23xx m68k-amiga mips-tb0226 sparc-allnoconfig
    arm-ixp4xx m68k-apollo mips-tb0287 sparc-defconfig
    arm-jornada720 m68k-atari mips-workpad sparc-up
    arm-kafa m68k-bvme6000 mips-wrppmc sparc64
    arm-kb9202 m68k-hp300 mips-yosemite sparc64-allnoconfig
    arm-ks8695 m68k-mac parisc sparc64-defconfig
    arm-lart m68k-mvme147 parisc-allnoconfig sparc64-up
    arm-lpd270 m68k-mvme16x parisc-defconfig um-x86_64
    arm-lpd7a400 m68k-q40 parisc-up x86_64
    arm-lpd7a404 m68k-sun3 powerpc x86_64-allnoconfig
    arm-lubbock m68k-sun3x powerpc-cell x86_64-defconfig
    arm-lusl7200 mips powerpc-celleb x86_64-up
    arm-mainstone mips-atlas powerpc-chrp32

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Restore the 2.6.22 CONFIG_ACPI_SLEEP build option, but now shadowing the
    new CONFIG_PM_SLEEP option.

    Signed-off-by: Len Brown
    [ Modified to work with the PM config setup changes. ]
    Signed-off-by: Linus Torvalds

    Len Brown
     
  • Introduce CONFIG_SUSPEND representing the ability to enter system sleep
    states, such as the ACPI S3 state, and allow the user to choose SUSPEND
    and HIBERNATION independently of each other.

    Make HOTPLUG_CPU be selected automatically if SUSPEND or HIBERNATION has
    been chosen and the kernel is intended for SMP systems.

    Also, introduce CONFIG_PM_SLEEP which is automatically selected if
    CONFIG_SUSPEND or CONFIG_HIBERNATION is set and use it to select the
    code needed for both suspend and hibernation.

    The top-level power management headers and the ACPI code related to
    suspend and hibernation are modified to use the new definitions (the
    changes in drivers/acpi/sleep/main.c are, mostly, moving code to reduce
    the number of ifdefs).

    There are many other files in which CONFIG_PM can be replaced with
    CONFIG_PM_SLEEP or even with CONFIG_SUSPEND, but they can be updated in
    the future.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION to avoid
    confusion (among other things, with CONFIG_SUSPEND introduced in the
    next patch).

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

29 Jul, 2007

8 commits

  • A non-periodic clock_event_device and the "jiffies" clock don't mix well:
    tick_handle_periodic() can go into an infinite loop.

    Currently lguest guests use the jiffies clock when the TSC is
    unusable. Instead, make the Host write the current time into the lguest
    page on every interrupt. This doesn't cost much but is more precise
    and at least as accurate as the jiffies clock. It also gets rid of
    the GET_WALLCLOCK hypercall.

    Also, delay setting sched_clock until our clock is set up, otherwise
    the early printk timestamps can go backwards (not harmful, just ugly).

    Signed-off-by: Rusty Russell
    Signed-off-by: Linus Torvalds

    Rusty Russell
     
  • Jason Yeh sent his crashing .config: bzImages made with
    CONFIG_RELOCATABLE=y put the relocs where the BSS is expected, and we
    crash with unusual results such as:

    lguest: unhandled trap 14 at 0xc0122ae1 (0xa9)

    Relying on BSS being zero was merely laziness on my part, and
    unfortunately, lguest doesn't go through the normal startup path (which
    does this in asm).

    Signed-off-by: Rusty Russell
    Signed-off-by: Linus Torvalds

    Rusty Russell
     
  • Removed unused dead crap from machdep.h header.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Make declaration of mach_sched_init match definition
    (which is in arch/m68knommu/kernel/setup.c).

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • It is important to only provide the compat_ioctl method
    if the downstream de->proc_fops does too, otherwise this
    utterly confuses the logic in fs/compat_ioctl.c and we
    end up doing the wrong thing.

    Signed-off-by: David S. Miller
    Acked-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    David Miller
     
  • copy_from_user() returns the number of bytes not copied, hence 0 is the
    expected output.

    axi->mm might not be valid anymore when not equal to current->mm, do not
    dereference before checking that - thanks to Al for spotting that.

    Signed-off-by: Peter Zijlstra
    Tested-by: Steve Grubb
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Signed-off-by: Al Viro
    Acked-by: Jeff Garzik
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • #x blocks expansion of macro argument, but it won't do you any
    good if it's already been expanded... As it is, RFALSE(cond, ....)
    ended up with stringified _expanded_ cond. Real fun when cond contains
    something like le32_to_cpu() and you are on a big-endian box...

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro