lkml.org 
[lkml]   [2002]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    SubjectRe: 64bit clean drivers was Re: Linux 2.4.20-pre1
    From

    [Andi Kleen]
    > I don't see why it is unmaintainable. What is so bad with these ifs?
    > 64bit cleanness is just another dependency, nothing magic and fundamentally
    > hard.
    [...]
    > (unfortunately there is no dep_tristate ... !$CONFIG_64BIT)
    > Alternatively CONFIG_NO_64BIT to work around this issue.

    The real solution (imo) is to add !$CONFIG_FOO support to the config
    language. Fortunately this is quite easy. What do you people think?
    I didn't do xconfig or config-language.txt but I can if desired.

    Tested lightly with ash (not bash)..

    Peter

    diff -u'rNx*~' 2.4.20pre1/scripts/Configure 2.4.20pre1p/scripts/Configure
    --- 2.4.20pre1/scripts/Configure 2001-07-02 15:56:40.000000000 -0500
    +++ 2.4.20pre1p/scripts/Configure 2002-08-08 09:55:31.000000000 -0500
    @@ -48,6 +48,9 @@
    #
    # 24 January 1999, Michael Elizabeth Chastain, <mec@shout.net>
    # - Improve the exit message (Jeff Ronne).
    +#
    +# 7 Aug 2002, Peter Samuelson, <peter@cadcamlab.org>
    +# - allow negation (!$CONFIG_FOO) for dependencies in dep_* functions

    #
    # Make sure we're really running bash.
    @@ -250,7 +253,7 @@
    shift 2
    while [ $# -gt 0 ]; do
    case "$1" in
    - n)
    + n | !y | !m)
    define_tristate "$var" "n"
    return
    ;;
    @@ -301,7 +304,7 @@
    shift 2
    while [ $# -gt 0 ]; do
    case "$1" in
    - m | n)
    + m | n | !y | !m)
    define_bool "$var" "n"
    return
    ;;
    @@ -318,7 +321,7 @@
    shift 2
    while [ $# -gt 0 ]; do
    case "$1" in
    - n)
    + n | !y | !m)
    define_bool "$var" "n"
    return
    ;;
    diff -u'rNx*~' 2.4.20pre1/scripts/Menuconfig 2.4.20pre1p/scripts/Menuconfig
    --- 2.4.20pre1/scripts/Menuconfig 2002-06-14 15:09:40.000000000 -0500
    +++ 2.4.20pre1p/scripts/Menuconfig 2002-08-08 09:55:32.000000000 -0500
    @@ -77,8 +77,9 @@
    # 12 November 2001, Keith Owens <kaos@ocs.com.au>
    # Escape double quotes on eval so the quotes are still there on the second
    # evaluation, required to handle strings with special characters.
    -#
    -
    +#
    +# 7 Aug 2002, Peter Samuelson <peter@cadcamlab.org>
    +# Allow negation (!$CONFIG_FOO) for dependencies in dep_* functions

    #
    # Change this to TRUE if you prefer all kernel options listed
    @@ -219,7 +220,7 @@
    dep=y
    shift 2
    while [ $# -gt 0 ]; do
    - if [ "$1" = y ]; then
    + if [ "$1" = y -o "$1" = !n ]; then
    shift
    elif [ "$1" = m ]; then
    dep=m
    @@ -248,7 +249,7 @@
    dep=y
    shift 2
    while [ $# -gt 0 ]; do
    - if [ "$1" = y ]; then
    + if [ "$1" = y -o "$1" = !n ]; then
    shift
    else
    dep=n
    @@ -268,7 +269,7 @@
    dep=y
    shift 2
    while [ $# -gt 0 ]; do
    - if [ "$1" = y -o "$1" = m ]; then
    + if [ "$1" = y -o "$1" = m -o "$1" = !n ]; then
    shift
    else
    dep=n
    @@ -1089,7 +1090,7 @@
    var="$2"
    shift 2
    while [ $# -gt 0 ]; do
    - if [ "$1" = y ]; then
    + if [ "$1" = y -o "$1" = !n ]; then
    shift
    elif [ "$1" = m -a "$x" != n ]; then
    x=m; shift
    @@ -1105,7 +1106,7 @@
    var="$2"
    shift 2
    while [ $# -gt 0 ]; do
    - if [ "$1" = y ]; then
    + if [ "$1" = y -o "$1" = !n ]; then
    shift
    else
    x=n; shift $#
    @@ -1119,7 +1120,7 @@
    var="$2"
    shift 2
    while [ $# -gt 0 ]; do
    - if [ "$1" = y -o "$1" = m ]; then
    + if [ "$1" = y -o "$1" = m -o "$1" = !n ]; then
    shift
    else
    x=n; shift $#
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2005-03-22 13:27    [W:5.317 / U:0.012 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site