04 Mar, 2008

1 commit


17 Oct, 2007

1 commit

  • There have been issues with non-latin1 diacritics and unicode.
    http://bugzilla.kernel.org/show_bug.cgi?id=7746

    Git 759448f459234bfcf34b82471f0dba77a9aca498 `Kernel utf-8 handling'
    partly resolved it by adding conversion between diacritics and
    unicode. The patch below goes further by just turning diacritics into
    unicode, hence providing better future support. The kbd support can be
    fetched from
    http://bugzilla.kernel.org/attachment.cgi?id=12313

    This was tested in all of latin1, latin9, latin2 and unicode with french
    and czech dead keys.

    Turn the kernel accent_table into unicode, and extend ioctls KDGKBDIACR
    and KDSKBDIACR into their equivalents KDGKBDIACRUC and KDSKBDIACR.

    New function int conv_uni_to_8bit(u32 uni) for converting unicode into 8bit
    _input_. No, we don't want to store the translation, as it is potentially
    sparse and large.

    Signed-off-by: Samuel Thibault
    Cc: Jan Engelhardt
    Cc: "Antonino A. Daplas"
    Cc: David Woodhouse
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Samuel Thibault
     

01 Aug, 2007

1 commit

  • The arm26 port has been in a state where it was far from even compiling
    for quite some time.

    Ian Molton agreed with the removal.

    Signed-off-by: Adrian Bunk
    Cc: Ian Molton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

24 Jul, 2007

1 commit

  • Some of the code has been gradually transitioned to using the proper
    struct request_queue, but there's lots left. So do a full sweet of
    the kernel and get rid of this typedef and replace its uses with
    the proper type.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

10 Jul, 2007

1 commit

  • - I have unearthed very old bugs in stale drivers that still
    used request->cmd as a READ|WRITE int
    - This patch is maybe a proof that these drivers have not been
    used for a long time. Should they be removed completely?

    Drivers that currently do not work for sure:
    drivers/acorn/block/fd1772.c | 2 +-
    drivers/acorn/block/mfmhd.c | 8 ++++----
    drivers/cdrom/aztcd.c | 2 +-
    drivers/cdrom/cm206.c | 2 +-
    drivers/cdrom/gscd.c | 2 +-
    drivers/cdrom/mcdx.c | 2 +-
    drivers/cdrom/optcd.c | 2 +-
    drivers/cdrom/sjcd.c | 2 +-

    Drivers with cosmetic fixes only:
    b/drivers/block/amiflop.c
    b/drivers/block/nbd.c
    b/drivers/ide/legacy/hd.c

    Signed-off-by: Boaz Harrosh
    Signed-off-by: Jens Axboe

    Boaz Harrosh
     

05 Mar, 2007

1 commit


15 Feb, 2007

1 commit

  • After Al Viro (finally) succeeded in removing the sched.h #include in module.h
    recently, it makes sense again to remove other superfluous sched.h includes.
    There are quite a lot of files which include it but don't actually need
    anything defined in there. Presumably these includes were once needed for
    macros that used to live in sched.h, but moved to other header files in the
    course of cleaning it up.

    To ease the pain, this time I did not fiddle with any header files and only
    removed #includes from .c-files, which tend to cause less trouble.

    Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
    arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
    allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
    configs in arch/arm/configs on arm. I also checked that no new warnings were
    introduced by the patch (actually, some warnings are removed that were emitted
    by unnecessarily included header files).

    Signed-off-by: Tim Schmielau
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

13 Feb, 2007

1 commit

  • Many struct file_operations in the kernel can be "const". Marking them const
    moves these to the .rodata section, which avoids false sharing with potential
    dirty data. In addition it'll catch accidental writes at compile time to
    these shared resources.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

14 Dec, 2006

1 commit

  • Run this:

    #!/bin/sh
    for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
    echo "De-casting $f..."
    perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
    done

    And then go through and reinstate those cases where code is casting pointers
    to non-pointers.

    And then drop a few hunks which conflicted with outstanding work.

    Cc: Russell King , Ian Molton
    Cc: Mikael Starvik
    Cc: Yoshinori Sato
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Kyle McMartin
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Greg KH
    Cc: Jens Axboe
    Cc: Paul Fulghum
    Cc: Alan Cox
    Cc: Karsten Keil
    Cc: Mauro Carvalho Chehab
    Cc: Jeff Garzik
    Cc: James Bottomley
    Cc: Ian Kent
    Cc: Steven French
    Cc: David Woodhouse
    Cc: Neil Brown
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     

11 Dec, 2006

1 commit


05 Oct, 2006

1 commit

  • Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
    of passing regs around manually through all ~1800 interrupt handlers in the
    Linux kernel.

    The regs pointer is used in few places, but it potentially costs both stack
    space and code to pass it around. On the FRV arch, removing the regs parameter
    from all the genirq function results in a 20% speed up of the IRQ exit path
    (ie: from leaving timer_interrupt() to leaving do_IRQ()).

    Where appropriate, an arch may override the generic storage facility and do
    something different with the variable. On FRV, for instance, the address is
    maintained in GR28 at all times inside the kernel as part of general exception
    handling.

    Having looked over the code, it appears that the parameter may be handed down
    through up to twenty or so layers of functions. Consider a USB character
    device attached to a USB hub, attached to a USB controller that posts its
    interrupts through a cascaded auxiliary interrupt controller. A character
    device driver may want to pass regs to the sysrq handler through the input
    layer which adds another few layers of parameter passing.

    I've build this code with allyesconfig for x86_64 and i386. I've runtested the
    main part of the code on FRV and i386, though I can't test most of the drivers.
    I've also done partial conversion for powerpc and MIPS - these at least compile
    with minimal configurations.

    This will affect all archs. Mostly the changes should be relatively easy.
    Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

    struct pt_regs *old_regs = set_irq_regs(regs);

    And put the old one back at the end:

    set_irq_regs(old_regs);

    Don't pass regs through to generic_handle_irq() or __do_IRQ().

    In timer_interrupt(), this sort of change will be necessary:

    - update_process_times(user_mode(regs));
    - profile_tick(CPU_PROFILING, regs);
    + update_process_times(user_mode(get_irq_regs()));
    + profile_tick(CPU_PROFILING);

    I'd like to move update_process_times()'s use of get_irq_regs() into itself,
    except that i386, alone of the archs, uses something other than user_mode().

    Some notes on the interrupt handling in the drivers:

    (*) input_dev() is now gone entirely. The regs pointer is no longer stored in
    the input_dev struct.

    (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
    something different depending on whether it's been supplied with a regs
    pointer or not.

    (*) Various IRQ handler function pointers have been moved to type
    irq_handler_t.

    Signed-Off-By: David Howells
    (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)

    David Howells
     

04 Oct, 2006

1 commit


27 Sep, 2006

1 commit

  • i2c-algo-bit: Discard the mdelay data struct member

    The i2c_algo_bit_data structure has an mdelay member, which is not
    used by the algorithm code (the code has always been ifdef'd out.)
    Let's discard it to save some code and memory.

    Signed-off-by: Jean Delvare
    Acked-by: Mauro Carvalho Chehab
    Cc: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     

03 Jul, 2006

1 commit


01 Jul, 2006

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
    Remove obsolete #include
    remove obsolete swsusp_encrypt
    arch/arm26/Kconfig typos
    Documentation/IPMI typos
    Kconfig: Typos in net/sched/Kconfig
    v9fs: do not include linux/version.h
    Documentation/DocBook/mtdnand.tmpl: typo fixes
    typo fixes: specfic -> specific
    typo fixes in Documentation/networking/pktgen.txt
    typo fixes: occuring -> occurring
    typo fixes: infomation -> information
    typo fixes: disadvantadge -> disadvantage
    typo fixes: aquire -> acquire
    typo fixes: mecanism -> mechanism
    typo fixes: bandwith -> bandwidth
    fix a typo in the RTC_CLASS help text
    smb is no longer maintained

    Manually merged trivial conflict in arch/um/kernel/vmlinux.lds.S

    Linus Torvalds
     
  • Don't show a menu that can't be entered due to lack of contents on arm (the
    options are only available on arm26).

    Signed-off-by: Adrian Bunk
    Acked-by: Ian Molton
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Signed-off-by: Jörn Engel
    Signed-off-by: Adrian Bunk

    Jörn Engel
     

12 Jan, 2006

1 commit

  • - Move capable() from sched.h to capability.h;

    - Use where capable() is used
    (in include/, block/, ipc/, kernel/, a few drivers/,
    mm/, security/, & sound/;
    many more drivers/ to go)

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy.Dunlap
     

09 Jan, 2006

1 commit

  • HDIO_GETGEO is implemented in most block drivers, and all of them have to
    duplicate the code to copy the structure to userspace, as well as getting
    the start sector. This patch moves that to common code [1] and adds a
    ->getgeo method to fill out the raw kernel hd_geometry structure. For many
    drivers this means ->ioctl can go away now.

    [1] the s390 block drivers are odd in this respect. xpram sets ->start
    to 4 always which seems more than odd, and the dasd driver shifts
    the start offset around, probably because of it's non-standard
    sector size.

    Signed-off-by: Christoph Hellwig
    Cc: Jens Axboe
    Cc:
    Cc: Jeff Dike
    Cc: Paolo Giarrusso
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Neil Brown
    Cc: Markus Lidel
    Cc: Russell King
    Cc: David Woodhouse
    Cc: Martin Schwidefsky
    Cc: James Bottomley
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

06 Jan, 2006

3 commits

  • Now that i2c_add_driver() doesn't need the module owner to be set by
    hand, we can delete it from the drivers. This patch catches all of the
    drivers that I found in the current tree (if a driver sets the .owner by
    hand, it's not a problem, just not needed.)

    Signed-off-by: Greg Kroah-Hartman
    Cc: Jean Delvare

    Greg Kroah-Hartman
     
  • We should use the i2c_driver.driver's .name and .owner fields
    instead of the i2c_driver's ones.

    This patch updates the drivers for acorn arch.

    Signed-off-by: Laurent Riffard
    Signed-off-by: Jean Delvare
    Acked-by: Russell King
    Signed-off-by: Greg Kroah-Hartman

    Laurent Riffard
     
  • Just about every i2c chip driver sets the I2C_DF_NOTIFY flag, so we
    can simply make it the default and drop the flag. If any driver really
    doesn't want to be notified when i2c adapters are added, that driver
    can simply omit to set .attach_adapter. This approach is also more
    robust as it prevents accidental NULL pointer dereferences.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     

31 Oct, 2005

1 commit


21 Sep, 2005

1 commit


10 Sep, 2005

1 commit


07 Aug, 2005

1 commit


22 Jun, 2005

1 commit

  • Some months ago, you killed the address ranges mechanism from all
    sensors i2c chip drivers (both the module parameters and the in-code
    address lists). I think it was a very good move, as the ranges can
    easily be replaced by individual addresses, and this allowed for
    significant cleanups in the i2c core (let alone the impressive size
    shrink for all these drivers).

    Unfortunately you did not do the same for non-sensors i2c chip drivers.
    These need the address ranges even less, so we could get rid of the
    ranges here as well for another significant i2c core cleanup. Here comes
    a patch which does just that. Since the process is exactly the same as
    what you did for the other drivers set already, I did not split this one
    in parts.

    A documentation update is included.

    The change saves 308 bytes in the i2c core, and an average 1382 bytes
    for chip drivers which use I2C_CLIENT_INSMOD, 126 bytes for those which
    do not.

    This change is required if we want to merge the sensors and non-sensors
    i2c code (and we want to do this).

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Index: gregkh-2.6/Documentation/i2c/writing-clients
    ===================================================================

    Jean Delvare
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds