diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-02-22 10:31:24 +0100 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-02-22 10:36:20 +0100 |
commit | 2773e8c3410e2b0dc76a1b0f361f5b3ead9ca376 (patch) | |
tree | 3bc5cdd98e10cce9a5740b17657835cafaa3a0d0 | |
parent | a34bc90b9c654c855f365de14a8907dc92e21946 (diff) | |
download | debianrt-2773e8c3410e2b0dc76a1b0f361f5b3ead9ca376.tar.gz debianrt-2773e8c3410e2b0dc76a1b0f361f5b3ead9ca376.tar.xz |
svn://svn.debian.org/svn/kernel/dists/trunk/linux-2.6/debian at r15255
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
185 files changed, 18181 insertions, 17470 deletions
@@ -1,73 +0,0 @@ -Migrating to the common kernel-image package --------------------------------------------- -Files for architecture <arch> should be placed into arch/<arch>. This -directory normally contains a common config file for this architecture -('config'), flavour-specific config files, Makefile.inc file, -controlling the build for this arch, and the defines file, containing -the machine descriptions for various flavours. For arches with -subarches the subdirectory arch/<arch>/<subarch> with the same file -structure must be created for each subarch. - -Kernel config files -------------------- -Configuration files are constructed dynamically by concatenating a number -of config files as described below. - -For architecture without subarches: - - arch/config - arch/<arch>/config - arch/<arch>/config.<flavour> - -For architecture with subarches: - - arch/config - arch/<arch>/config - arch/<arch>/<subarch>/config - arch/<arch>/<subarch>/config.<flavour> - -Control file ------------- -The master control file debian/control must be generated before -the package is uploaded. debian/rules contains the debian/control -target, which generates the control file by invoking the -debian/bin/gencontrol.py script, which combines the templates from -the templates directory and arch/subarch specific defines file to -produce the debian/control file. Note that this target is intentionally -made to fail with a non-zero exit code to make sure that it is never -run during an automatic build. The following variables are substituted -into the templates: - -@version@ Upstream kernel version, for example 2.6.11. -@major@ The major version, for example 2.6 -@arch@ The Debian arch name, such as powerpc or i386. -@subarch@ The subarch - only used by powerpc right now. -@flavour@ The build flavour, such as 686 or k7-smp. -@class@ The CPU/architecture class; displayed in synopsis. It should - be fairly short, as the synopsis is supposed to be <80 chars. - It should be in the form "foo class", and will show up in the - description as "foo class machines". -@longclass@ The CPU/architecture class; displayed in the extended - description. The same rules apply as in @class@. If - this is unset, it will default to @class@. -@desc@ (Potentially) multi-line verbiage that's appended to - -image descriptions. -@abiname@ Current abiname, a single digit. - -Normally, the arch-specific contents should be controlled by -adjusting the corresponding defines file. - -Makefile.inc ------------- -Each architecture subdirectory in arch may contain a Makefile.inc -file, which is included by debian/rules after definining all the -variables. It may be used to override the standard variables on -per-architecture basis and other evil things. So far the valid uses of -this file include the setting of the following variables: - -image_postproc - - A command to be run after the kernel image is built. As far as I know, - it only required on sparc for stripping of the kernel which is too big - to be booted otherwise. Typical use is too ugly to be presented here. - diff --git a/README.Debian b/README.Debian index 759f728..03783c0 100644 --- a/README.Debian +++ b/README.Debian @@ -24,6 +24,15 @@ given a lower priority for security support. Options marked as BROKEN or EXPERIMENTAL are of very low priority, and should not be enabled in customized builds for a security-sensitive environment. +Building specific binary packages +--------------------------------- +You can build specific kernel binary packages using the targets in +debian/rules.gen, which have names of the form: + binary-arch_<architecture>_<featureset>_<flavour> + +Example: + fakeroot make -f debian/rules.gen binary-arch_i386_none_686 + Rebuilding Adaptec AIC7xxx/79xx firmware ---------------------------------------- You can rebuild the firmware for the Adaptec AIC7xxx/79xx SCSI Adapters. To @@ -38,18 +47,4 @@ mousedev are loaded. Non-free bits removed --------------------- -* Keyspan firmware, driver disabled - . drivers/usb/serial/ksyspan_{mpr,usa*}_fw.h -* Emagic EMI 2|6 usb audio interface firmware loader - . drivers/usb/misc/emi62_fw_*.h - -Firmware removed ----------------- -* SMC Token Ring firmware, driver disabled: - . drivers/net/tokenring/smctr_firmware.h -* ACENIC firwmare, driver disabled: - . drivers/net/acenic_firmware.h -* DGRS firmware, driver disabled: - . drivers/net/dgrs_firmware.c -* DAB firmware, driver disabled: - . drivers/usb/media/dabfirmware.h +See the patches under debian/patches/debian/dfsg. diff --git a/README.build b/README.build deleted file mode 100644 index f3d4c06..0000000 --- a/README.build +++ /dev/null @@ -1,17 +0,0 @@ -Building kernels from SVN (for official images): - -1) Start by downloading a kernel tarball from kernel.org - (ie, linux-2.6.25.tar.bz2) and, optionally, a patch - (i.e. patch-2.6.26-rc3.bz2). - -2) Run ./debian/bin/genorig.py <tarball> [patch]. This will produce - ../orig/linux-2.6_<version>.orig.tar.gz - (i.e. linux-2.6_2.6.26~rc3.orig.tar.gz). - -3) Unpack linux-2.6-<version>.orig.tar.gz, cd into the new directory, - and do a 'svn export' to get the debian/ subdirectory. - Alternatively unpack using "make -f debian/rules orig". - -4) Build debian/control by running 'make -f debian/rules debian/control-real'. - -5) .configs will be generated during build. diff --git a/README.source b/README.source new file mode 100644 index 0000000..21ca92f --- /dev/null +++ b/README.source @@ -0,0 +1,97 @@ +Updating the upstream source +============================ + +1) You can use either: + a) a git repository of the kernel source + b) a kernel tarball from kernel.org (e.g. linux-2.6.25.tar.bz2) + and, optionally, a patch (e.g. patch-2.6.26-rc3.bz2). + +2) Run ./debian/bin/genorig.py <repository> + or ./debian/bin/genorig.py <tarball> [patch] + This will produce ../orig/linux-2.6_<version>.orig.tar.gz + (e.g. linux-2.6_2.6.26~rc3.orig.tar.gz). + +3) Unpack linux-2.6-<version>.orig.tar.gz, cd into the new directory, + and do a 'svn export' to get the debian/ subdirectory. + Alternatively unpack using "make -f debian/rules orig". + +Applying patches to the Debian kernel tree +========================================== + +The Debian kernel packaging uses a custom patching system: + +Patches are stored below debian/patches, loosely sorted in bugfix/, +features/ and debian/. Patches are in the standard kernel patch +format. + +The order and the selection of patches which are applied during build +time are specified in the series/ subdirectory. For each revision +there may be up to one file named REVISION specifying the patches +applied for the standard revision and one file named REVISION-extra +for addon flavours. If, e.g. the patches are specified for 2.6.26-12, +the patch order file is called debian/patches/series/12 for the +standard kernel images and debian/patches/series/12-extra for the +addon flavours. + +Let's look at the actual series file for 2.6.26-12: + ++ bugfix/all/net-unix-gc-fix-soft-lockups-oom-issues.patch ++ bugfix/all/inotify-watch-removal-umount-races.patch ++ bugfix/all/atm-duplicate-listen-on-socket-corrupts-the-vcc-table.patch ++ bugfix/all/ata-pata_marvell-vs-ahci.patch ++ features/sparc/video-sunxvr500-intergraph.patch + +The patches to be applied are specified relative to debian/patches. +"+" indicates that the patch should be added, "-" can be used to +drop a patch in later patch series (e.g. if the patch turned out to +be faulty). The series files may be arbitrarily documented with +comments starting with "#". + +Let's now have a look at the series file for the addon kernel flavours +of 2.6.26-12: + ++ features/all/xen/dom0-fix-processor-throttling-when-pr-id-is-minus-1.patch featureset=xen + +The same syntax applies for specifing the patches, but an additional +argument is needed which specifies the featureset the patch applies to. + +Kernel config files +=================== +Configuration files are constructed dynamically from a number of config +files, as listed in debian/config/<arch>/defines. + +Control file +============ +The master control file debian/control must be generated before +the package is uploaded. debian/rules contains the debian/control +target, which generates the control file by invoking the +debian/bin/gencontrol.py script, which combines the templates from +the templates directory and architecture-specific defines file to +produce the debian/control file. Note that this target is intentionally +made to fail with a non-zero exit code to make sure that it is never +run during an automatic build. The following variables are substituted +into the templates: + +@version@ Upstream kernel version, for example 2.6.11. +@major@ The major version, for example 2.6 +@arch@ The Debian arch name, such as powerpc or i386. +@flavour@ The build flavour, such as 686 or k7-smp. +@class@ The CPU/architecture class; displayed in synopsis. It should + be fairly short, as the synopsis is supposed to be <80 chars. + It should be in the form "foo class", and will show up in the + description as "foo class machines". +@longclass@ The CPU/architecture class; displayed in the extended + description. The same rules apply as in @class@. If + this is unset, it will default to @class@. +@desc@ (Potentially) multi-line verbiage that's appended to + -image descriptions. +@abiname@ Current abiname, a single digit. + +Normally, the arch-specific contents should be controlled by +adjusting the corresponding defines file. + +TODO: +- Patches applied to the upstream source +- How to define a flavour +- More detail on generation of debian/control and configs + diff --git a/bin/abiupdate.py b/bin/abiupdate.py index 3ce03ea..c0b21b5 100755 --- a/bin/abiupdate.py +++ b/bin/abiupdate.py @@ -76,7 +76,7 @@ class main(object): f = self.retrieve_package(self.url, filename) d = self.extract_package(f, "linux-headers-%s_%s" % (prefix, arch)) f1 = d + "/usr/src/linux-headers-%s-%s/Module.symvers" % (self.version_abi, prefix) - s = Symbols(f1) + s = Symbols(open(f1)) shutil.rmtree(d) return s @@ -93,11 +93,7 @@ class main(object): u = url(self.source, filename) filename_out = self.dir + "/" + filename - try: - f_in = urllib2.urlopen(u) - except urllib2.HTTPError, e: - raise RuntimeError('Failed to retrieve %s: %s' % (e.filename, e)) - + f_in = urllib2.urlopen(u) f_out = file(filename_out, 'w') while 1: r = f_in.read() @@ -111,7 +107,7 @@ class main(object): if not os.path.exists(dir): os.makedirs(dir) out = "%s/%s_%s_%s" % (dir, arch, featureset, flavour) - Symbols.write(file(out, 'w')) + symbols.write(open(out, 'w')) def update_arch(self, config, arch): if self.override_featureset: @@ -150,8 +146,12 @@ class main(object): abi = self.get_abi(arch, localversion) self.save_abi(abi, arch, featureset, flavour) self.log("Ok.\n") + except urllib2.HTTPError, e: + self.log("Failed to retrieve %s: %s\n" % (e.filename, e)) except StandardError, e: - self.log("FAILED! (%s)\n" % str(e)) + self.log("FAILED!\n") + import traceback + traceback.print_exc(None, sys.stdout) if __name__ == '__main__': options = optparse.OptionParser() diff --git a/bin/buildcheck.py b/bin/buildcheck.py index 16a1fd2..bd4bd80 100755 --- a/bin/buildcheck.py +++ b/bin/buildcheck.py @@ -124,7 +124,6 @@ class CheckAbi(object): s_new = new[name] if s_ref != s_new: - print "cmp", s_ref.__dict__, s_new.__dict__ change.add(name) symbols[name] = self.SymbolChangeInfo(s_ref, s_new) diff --git a/bin/gencontrol.py b/bin/gencontrol.py index 8b53e0b..2cbb476 100755 --- a/bin/gencontrol.py +++ b/bin/gencontrol.py @@ -26,13 +26,9 @@ class Gencontrol(Base): def do_main_packages(self, packages, vars, makeflags, extra): packages.extend(self.process_packages(self.templates["control.main"], self.vars)) - packages.append(self.process_real_tree(self.templates["control.tree"][0], self.vars)) - packages.extend(self.process_packages(self.templates["control.support"], self.vars)) def do_arch_setup(self, vars, makeflags, arch, extra): config_base = self.config.merge('base', arch) - config_libc_dev = self.config.merge('libc-dev', arch) - makeflags['LIBC_DEV_ARCH'] = config_libc_dev.get('arch', config_base.get('kernel-arch')) data = vars.copy() data.update(config_base) @@ -51,14 +47,7 @@ class Gencontrol(Base): extra['headers_arch_depends'] = packages_headers_arch[-1]['Depends'] = PackageRelation() - for package in packages_headers_arch: - name = package['Package'] - if packages.has_key(name): - package = packages.get(name) - package['Architecture'].append(arch) - else: - package['Architecture'] = [arch] - packages.append(package) + self.merge_packages(packages, packages_headers_arch, arch) cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-arch %s" % makeflags] cmds_source = ["$(MAKE) -f debian/rules.real source-arch %s" % makeflags] @@ -67,20 +56,13 @@ class Gencontrol(Base): def do_featureset_setup(self, vars, makeflags, arch, featureset, extra): config_base = self.config.merge('base', arch, featureset) - makeflags['KERNEL_HEADER_DIRS'] = config_base.get('kernel-header-dirs', config_base.get('kernel-arch')) makeflags['LOCALVERSION_HEADERS'] = vars['localversion_headers'] = vars['localversion'] def do_featureset_packages(self, packages, makefile, arch, featureset, vars, makeflags, extra): headers_featureset = self.templates["control.headers.featureset"] package_headers = self.process_package(headers_featureset[0], vars) - name = package_headers['Package'] - if packages.has_key(name): - package_headers = packages.get(name) - package_headers['Architecture'].append(arch) - else: - package_headers['Architecture'] = [arch] - packages.append(package_headers) + self.merge_packages(packages, (package_headers,), arch) cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-featureset %s" % makeflags] cmds_source = ["$(MAKE) -f debian/rules.real source-featureset %s" % makeflags] @@ -89,8 +71,12 @@ class Gencontrol(Base): def do_flavour_setup(self, vars, makeflags, arch, featureset, flavour, extra): config_base = self.config.merge('base', arch, featureset, flavour) + config_description = self.config.merge('description', arch, featureset, flavour) config_image = self.config.merge('image', arch, featureset, flavour) + vars['class'] = config_description['hardware'] + vars['longclass'] = config_description.get('hardware-long') or vars['class'] + vars['localversion-image'] = vars['localversion'] override_localversion = config_image.get('override-localversion', None) if override_localversion is not None: @@ -108,7 +94,7 @@ class Gencontrol(Base): ): makeflags[i[1]] = data[i[0]] for i in ( - ('cflags', 'CFLAGS'), + ('cflags', 'CFLAGS_KERNEL'), ('initramfs', 'INITRAMFS'), ('kpkg-arch', 'KPKG_ARCH'), ('kpkg-subarch', 'KPKG_SUBARCH'), @@ -122,6 +108,7 @@ class Gencontrol(Base): headers = self.templates["control.headers"] config_entry_base = self.config.merge('base', arch, featureset, flavour) + config_entry_description = self.config.merge('description', arch, featureset, flavour) config_entry_image = self.config.merge('image', arch, featureset, flavour) config_entry_relations = self.config.merge('relations', arch, featureset, flavour) @@ -135,7 +122,7 @@ class Gencontrol(Base): image_fields = {'Description': PackageDescription()} for field in 'Depends', 'Provides', 'Suggests', 'Recommends', 'Conflicts': - image_fields[field] = PackageRelation(config_entry_image.get(field.lower(), None)) + image_fields[field] = PackageRelation(config_entry_image.get(field.lower(), None), override_arches=(arch,)) if config_entry_image.get('initramfs', True): generators = config_entry_image['initramfs-generators'] @@ -152,12 +139,12 @@ class Gencontrol(Base): image_fields['Conflicts'].append(PackageRelationGroup([a])) image_fields['Depends'].append(l_depends) - desc_parts = self.config.get_merge('image', arch, featureset, flavour, 'desc-parts') + desc_parts = self.config.get_merge('description', arch, featureset, flavour, 'parts') if desc_parts: desc = image_fields['Description'] for part in desc_parts[::-1]: - desc.append(config_entry_image['desc-long-part-' + part]) - desc.append_short(config_entry_image.get('desc-short-part-' + part, '')) + desc.append(config_entry_description['part-long-' + part]) + desc.append_short(config_entry_description.get('part-short-' + part, '')) packages_dummy = [] packages_own = [] @@ -197,14 +184,7 @@ class Gencontrol(Base): packages_own.append(package_headers) extra['headers_arch_depends'].append('%s (= ${binary:Version})' % packages_own[-1]['Package']) - for package in packages_own + packages_dummy: - name = package['Package'] - if packages.has_key(name): - package = packages.get(name) - package['Architecture'].append(arch) - else: - package['Architecture'] = [arch] - packages.append(package) + self.merge_packages(packages, packages_own + packages_dummy, arch) if config_entry_image['type'] == 'plain-xen': for i in ('postinst', 'postrm', 'prerm'): @@ -276,6 +256,25 @@ class Gencontrol(Base): file('debian/bin/patch.apply', 'w').write(apply) + def merge_packages(self, packages, new, arch): + for new_package in new: + name = new_package['Package'] + if name in packages: + package = packages.get(name) + package['Architecture'].append(arch) + + for field in 'Depends', 'Provides', 'Suggests', 'Recommends', 'Conflicts': + if field in new_package: + if field in package: + v = package[field] + v.extend(new_package[field]) + else: + package[field] = new_package[field] + + else: + new_package['Architecture'] = [arch] + packages.append(new_package) + def process_changelog(self): act_upstream = self.changelog[0].version.linux_upstream versions = [] @@ -284,7 +283,7 @@ class Gencontrol(Base): break versions.append(i.version) self.versions = versions - self.version = self.changelog[0].version + version = self.version = self.changelog[0].version if self.version.linux_modifier is not None: self.abiname = '' else: @@ -298,6 +297,17 @@ class Gencontrol(Base): } self.config['version',] = {'source': self.version.complete, 'abiname': self.abiname} + distribution = self.changelog[0].distribution + if distribution in ('unstable', ): + if (version.linux_revision_experimental or + version.linux_revision_other): + raise RuntimeError("Can't upload to %s with a version of %s" % + (distribution, version)) + if distribution in ('experimental', ): + if not version.linux_revision_experimental: + raise RuntimeError("Can't upload to %s with a version of %s" % + (distribution, version)) + def process_real_image(self, entry, fields, vars): entry = self.process_package(entry, vars) for key, value in fields.iteritems(): @@ -308,19 +318,6 @@ class Gencontrol(Base): entry[key] = value return entry - def process_real_tree(self, entry, vars): - entry = self.process_package(entry, vars) - version = self.changelog[0].version - - value = entry.setdefault('Depends', PackageRelation()) - value.append("linux-patch-debian-%s (= %s)" % (version.linux_version, version.complete)) - value.append(PackageRelationGroup(["linux-source-%s (= %s)" % (v.linux_version, v.complete) for v in self.versions])) - - value = entry.setdefault('Provides', PackageRelation()) - value.extend(["linux-tree-%s" % v.complete.replace('~', '-') for v in self.versions]) - - return entry - def write(self, packages, makefile): self.write_config() super(Gencontrol, self).write(packages, makefile) diff --git a/bin/genorig.py b/bin/genorig.py index 2007db7..8a0979d 100755 --- a/bin/genorig.py +++ b/bin/genorig.py @@ -13,11 +13,10 @@ from debian_linux.debian import Changelog, VersionLinux from debian_linux.patches import PatchSeries class Main(object): - def __init__(self, input_tar, input_patch, override_version): + def __init__(self, input_files, override_version): self.log = sys.stdout.write - self.input_tar = input_tar - self.input_patch = input_patch + self.input_files = input_files changelog = Changelog(version = VersionLinux)[0] source = changelog.source @@ -34,25 +33,43 @@ class Main(object): self.orig = '%s-%s' % (source, version.upstream) self.orig_tar = '%s_%s.orig.tar.gz' % (source, version.upstream) + self.tag = 'v' + version.upstream.replace('~', '-') def __call__(self): import tempfile self.dir = tempfile.mkdtemp(prefix = 'genorig', dir = 'debian') try: - self.upstream_extract() - self.upstream_patch() + if os.path.isdir(self.input_files[0]): + self.upstream_export(self.input_files[0]) + else: + self.upstream_extract(self.input_files[0]) + if len(self.input_files) > 1: + self.upstream_patch(self.input_files[1]) self.debian_patch() self.tar() finally: shutil.rmtree(self.dir) - def upstream_extract(self): - self.log("Extracting tarball %s\n" % self.input_tar) - match = re.match(r'(^|.*/)(?P<dir>linux-\d+\.\d+\.\d+(-\S+)?)\.tar(\.(?P<extension>(bz2|gz)))?$', self.input_tar) + def upstream_export(self, input_repo): + self.log("Exporting %s from %s\n" % (self.tag, input_repo)) + + archive_proc = subprocess.Popen(['git', 'archive', '--format=tar', + '--prefix=%s/' % self.orig, self.tag], + cwd=input_repo, + stdout=subprocess.PIPE) + extract_proc = subprocess.Popen(['tar', '-xf', '-'], cwd=self.dir, + stdin=archive_proc.stdout) + + if extract_proc.wait(): + raise RuntimeError("Can't extract tarball") + + def upstream_extract(self, input_tar): + self.log("Extracting tarball %s\n" % input_tar) + match = re.match(r'(^|.*/)(?P<dir>linux-\d+\.\d+\.\d+(-\S+)?)\.tar(\.(?P<extension>(bz2|gz)))?$', input_tar) if not match: raise RuntimeError("Can't identify name of tarball") - cmdline = ['tar', '-xf', self.input_tar, '-C', self.dir] + cmdline = ['tar', '-xf', input_tar, '-C', self.dir] if match.group('extension') == 'bz2': cmdline.append('-j') elif match.group('extension') == 'gz': @@ -63,11 +80,9 @@ class Main(object): os.rename(os.path.join(self.dir, match.group('dir')), os.path.join(self.dir, self.orig)) - def upstream_patch(self): - if self.input_patch is None: - return - self.log("Patching source with %s\n" % self.input_patch) - match = re.match(r'(^|.*/)patch-\d+\.\d+\.\d+(-\S+?)?(\.(?P<extension>(bz2|gz)))?$', self.input_patch) + def upstream_patch(self, input_patch): + self.log("Patching source with %s\n" % input_patch) + match = re.match(r'(^|.*/)patch-\d+\.\d+\.\d+(-\S+?)?(\.(?P<extension>(bz2|gz)))?$', input_patch) if not match: raise RuntimeError("Can't identify name of patch") cmdline = [] @@ -77,7 +92,7 @@ class Main(object): cmdline.append('zcat') else: cmdline.append('cat') - cmdline.append(self.input_patch) + cmdline.append(input_patch) cmdline.append('| (cd %s; patch -p1 -f -s -t --no-backup-if-mismatch)' % os.path.join(self.dir, self.orig)) if os.spawnv(os.P_WAIT, '/bin/sh', ['sh', '-c', ' '.join(cmdline)]): raise RuntimeError("Can't patch source") @@ -113,13 +128,9 @@ class Main(object): if __name__ == '__main__': from optparse import OptionParser - parser = OptionParser(usage = "%prog [OPTION]... TAR [PATCH]") + parser = OptionParser(usage = "%prog [OPTION]... {TAR [PATCH] | REPO}") parser.add_option("-V", "--override-version", dest = "override_version", help = "Override version", metavar = "VERSION") options, args = parser.parse_args() - input_tar = args[0] - input_patch = None - if len(args) > 1: - input_patch = args[1] - - Main(input_tar, input_patch, options.override_version)() + assert 1 <= len(args) <= 2 + Main(args, options.override_version)() diff --git a/bin/test-patches b/bin/test-patches new file mode 100755 index 0000000..6cf9bfc --- /dev/null +++ b/bin/test-patches @@ -0,0 +1,81 @@ +#!/bin/bash + +set -e +shopt -s extglob + +# Set defaults from the running kernel +arch="$(dpkg --print-architecture)" +kernelabi="$(uname -r)" +ff="${kernelabi#+([^-])-@(trunk|+([0-9]))-}" +if [ "x$ff" != "x$kernelabi" ]; then + flavour="${ff#@(vserver|xen)-}" + if [ "x$flavour" != "x$ff" ]; then + featureset="${ff%-$flavour}" + else + featureset=none + fi +else + flavour= + featureset=none +fi + +eval "set -- $(getopt -n "$0" -- "f:j:s:" "$@")" +while true; do + case "$1" in + -f) flavour="$2"; shift 2 ;; + -j) export DEBIAN_KERNEL_JOBS="$2"; shift 2 ;; + -s) featureset="$2"; shift 2 ;; + --) shift 1; break ;; + esac +done + +if [ $# -lt 1 ]; then + echo >&2 "Usage: $0 [<options>] <patch>..." + cat >&2 <<EOF +Options: + -f <flavour> specify the 'flavour' of kernel to build, e.g. 686 + -j <jobs> specify number of compiler jobs to run in parallel + -s <featureset> specify an optional featureset to apply, e.g. xen +EOF + exit 2 +fi + +if [ -z "$flavour" ]; then + echo >&2 "You must specify a flavour to build with the -f option" + exit 2 +fi + +dpkg-checkbuilddeps -B + +# Append 'a~test' to Debian version; this should be less than any official +# successor and easily recognisable +version="$(dpkg-parsechangelog | sed 's/^Version: //; t; d')" +if [ "${version%a~test}" = "$version" ]; then + version="$version"a~test + dch -v "$version" --distribution UNRELEASED "Testing patches $*" +fi +debversion="${version##*-}" + +# Copy all patches into a new directory +rm -rf debian/patches/test/ +mkdir debian/patches/test +cp -t debian/patches/test/ "$@" + +# Generate patch series for the new version +>debian/patches/series/"$debversion" +for patch in "$@"; do + echo "+ test/$(basename "$patch")" >>debian/patches/series/"$debversion" +done + +# Regenerate control and included rules +rm debian/control debian/rules.gen +debian/rules debian/control-real && exit 1 || true +test -f debian/control +test -f debian/rules.gen + +# Clean and patch source +debian/rules clean +debian/rules source + +# Build selected binaries +fakeroot make -f debian/rules.gen binary-arch_"$arch"_"$featureset"_"$flavour" @@ -1,21 +1,525 @@ -linux-2.6 (2.6.31~rc5-1~experimental.1) UNRELEASED; urgency=low +linux-2.6 (2.6.33~rc8-1~experimental.1) UNRELEASED; urgency=low * New upstream release. - - support for W83627DHG-P (closes: #535646). + + [ maximilian attems] + * [topconfig] set BLK_DEV_DRBD, DRM_NOUVEAU, DRM_NOUVEAU_BACKLIGHT, + DRM_VMWGFX, SENSORS_LM73, SENSORS_AMC682, SENSORS_LIS3_I2C, + SENSORS_MC13783_ADC, TOUCHSCREEN_DYNAPRO, TOUCHSCREEN_MC13783, + GIGASET_CAPI, LEDS_DAC124S085, LEDS_INTEL_SS4200, LEDS_INTEL_SS4200, + DVB_FIREDTV, DVB_USB_EC168, SOC_CAMERA_MT9T112, SOC_CAMERA_OV9640, + USB_GSPCA_PAC7302, USB_GSPCA_STV0680, AD525X_DPOT, CAN_MCP251X, + RT2800PCI, REGULATOR_MAX8660, RTC_DRV_BQ32K, RTC_DRV_MSM6242, + RTC_DRV_RP5C01, VMWARE_PVSCSI, SCSI_PM8001, WIMAX_IWMC3200_SDIO, + INPUT_SPARSEKMAP, SERIO_ALTERA_PS2, MANTIS_CORE, DVB_MANTIS, + DVB_HOPPER. + * [x86] set CS5535_MFGPT, SENSORS_K10TEMP, GEODE_WDT, MSI_WMI, + TOSHIBA_BT_RFKILL, ACPI_CMPC, CRYPTO_GHASH_CLMUL_NI_INTE. + + -- maximilian attems <maks@debian.org> Mon, 15 Feb 2010 23:54:52 +0200 + +linux-2.6 (2.6.32-9) UNRELEASED; urgency=low + + [ Ben Hutchings ] + * Do not build obsolete lgs8gl5 driver + * [x86] Enable USB IP drivers (Closes: #568903) + * Ignore failure of lsusb when gathering information for bug reports + (Closes: #569725) + * macvlan: Add bridge, VEPA and private modes (Closes: #568756) + + [ maximilian attems] + * Postinst don't refercence k-p related manpage. (closes: #542208) + * Postinst only write kernel-img.conf for palo boxes. + * Enable VT_HW_CONSOLE_BINDING for unbinding efifb. (closes: #569314) + * hwmon: Add driver for VIA CPU core temperature. + * wireless: report reasonable bitrate for MCS rates through wext. + * efifb: fix framebuffer handoff. (bugzilla.k.o #15151) + + [ Bastian Blank ] + * Restrict access to sensitive SysRq keys by default. + + -- Ben Hutchings <ben@decadent.org.uk> Fri, 12 Feb 2010 02:59:33 +0000 + +linux-2.6 (2.6.32-8) unstable; urgency=high + + [ Bastian Blank ] + * Don't let default compiler flags escape into build. + + [ dann frazier ] + * KVM: PIT: control word is write-only (CVE-2010-0309) + * Fix potential crash with sys_move_pages (CVE-2010-0415) + + [ Ben Hutchings ] + * Build lgs8gxx driver along with cxusb (Closes: #568414) + * Revert incorrect change to powerpc clocksource setup (Closes: #568457) + * Add stable release 2.6.32.8: + - Remove TIF_ABI_PENDING bit from x86, sparc & powerpc, fixing + 32-bit userland/64-bit kernel breakage (Closes: #568416) + - connector: Delete buggy notification code. (CVE-2010-0410) + * [x86] KVM: Add IOPL/CPL checks to emulator, to prevent privilege + escalation within a guest. (CVE-2010-0298, CVE-2010-0306) + + [ Martin Michlmayr ] + * Implement power-off for D-Link DNS-323 rev B1 and fix the blinking + power LED (Erik Benada) (Closes: #503172). + + [ Aurelien Jarno ] + * Enable CONFIG_FB_CIRRUS and CONFIG_LOGO on 4kc-malta and 5kc-malta. + + -- Ben Hutchings <ben@decadent.org.uk> Thu, 11 Feb 2010 02:17:17 +0000 + +linux-2.6 (2.6.32-7) unstable; urgency=low + + [ maximilian attems] + * [x86] Disable deprecated X86_CPU_DEBUG, causes boot failures. + * Newer Standards-Version 3.8.4 without changes. + + [ Ben Hutchings ] + * clocksource/events: Fix fallout of generic code changes + (Closes: #568030) + * Set ABI to 2. + + [ dann frazier ] + * Disable FUNCTION_TRACER due to performance/build issues. + (Closes: #568025) + * Split 'flush_old_exec' into two functions (CVE-2010-0307) + + -- dann frazier <dannf@debian.org> Wed, 03 Feb 2010 18:35:21 -0700 + +linux-2.6 (2.6.32-6) unstable; urgency=high + + [ Ben Hutchings ] + * Documentation/3c509: document ethtool support (Closes: #564743) + * Add MODULE_FIRMWARE declarations to several drivers that lacked them + * [x86] Update rt2860sta/rt2870sta firmware loader patch + - Accept 8K versions of rt2870.bin + - Fix hang on resume + * [x86] Enable rt3090sta using firmware loader + * Add stable release 2.6.32.4: + - untangle the do_mremap() mess (CVE-2010-0291) + - fasync: split 'fasync_helper()' into separate add/remove functions + (CVE-2009-4141) + - kernel/signal.c: fix kernel information leak with print-fatal-signals=1 + (CVE-2010-0003) + - netfilter: ebtables: enforce CAP_NET_ADMIN (CVE-2010-0007) + - quota: Fix dquot_transfer for filesystems different from ext4 + (Closes: #566532) + - audit: Fix memory management bugs (Closes: #562815) + + fix braindamage in audit_tree.c untag_chunk() + + fix more leaks in audit_tree.c tag_chunk() + - ipv6: skb_dst() can be NULL in ipv6_hop_jumbo(). (CVE-2010-0006) + - Fix DMA mapping for i915 driver (Closes: #558237, #567352) + + drm: remove address mask param for drm_pci_alloc() + + agp/intel-agp: Clear entire GTT on startup + * e1000,e1000e: Discard all fragments of received over-length packets + (CVE-2009-4536, CVE-2009-4538) + * Enable the '686' configuration options in '686-vserver' packages and + the '686-bigmem' configuration options in '686-bigmem-vserver' packages + (Closes: #566213) + * Add stable release 2.6.32.5: + - inotify: do not reuse watch descriptors (Closes: #561880) + - megaraid_sas: remove sysfs poll_mode_io world writeable permissions + (CVE-2009-3939) (Closes: #562975) + * Force distribution=UNRELEASED in debian/bin/test-patches so that it + works in released source packages + * Add stable release 2.6.32.6 + * postinst: Enable escape sequences in debconf notes (Closes: #566539) + * Add 3w-sas driver for LSI 3ware 9750 SAS controllers + * aufs2: Update to snapshot from 2010-01-25 (Closes: #567391) + * cdc_ether: Do not set link down initially; not all devices send link + change interrupts (Closes: #567689) + * Add stable release 2.6.32.7: + - clockevent: Don't remove broadcast device on halt or CPU hotplug + (Closes: #566547) + * sfc: Apply fixes from 2.6.33-rc{5,6} + * Set ABI to 1. + + [ Ian Campbell ] + * xen: Enable up to 32G of guest memory on i386. + + [ Julien Cristau ] + * drm/i915: disable powersave by default (closes: #564807) + + [ Bastian Blank ] + * Enable all NCP file system options. + * [amd64] Make AGP support again built-in to fullfill the not completely + documented dependency with GART IOMMU support. (closes: #561552) + * Enable dynamic minor allocations for ALSA, DVB and USB. (closes: #510593) + + [ maximilian attems ] + * [topconfig] set MEMORY_FAILURE, 9P_FSCACHE, INFINIBAND_IPOIB_CM + (closes: #565494), ITCO_VENDOR_SUPPORT (closes: #525232), PCIEASPM + (closes: #545417), HWPOISON_INJECT. + * Enable easier debugging of Power Managment code. (closes: #478315) + * Pass `DEB_MAINT_PARAMS' to hook scripts. (closes: #563161) + * Enable more mobile IPv6 needs. (closes: #528834) + + [ dann frazier ] + * [vserver] explicitly disable CFS_HARD_LIMITS + * Enable FUNCTION_TRACER and STACK_TRACER (Closes: #563847) + + -- Ben Hutchings <ben@decadent.org.uk> Sun, 31 Jan 2010 23:09:28 +0000 + +linux-2.6 (2.6.32-5) unstable; urgency=low + + [ Ben Hutchings ] + * sfc: Apply fixes from 2.6.33-rc3 + * ath5k: Fix eeprom checksum check for custom sized eeproms + (Closes: #563136) + + [ maximilian attems ] + * topconfig unset USB_ISP1362_HCD FTBFS on armel and useless. + (closes: #564156) + * topconfig set PATA_ATP867X, PATA_RDC, SND_CS5535AUDIO, PM_RUNTIME, + ATA_VERBOSE_ERROR, RTC_DRV_WM831X, RTC_DRV_PCF2123, RTC_DRV_AB3100, + SND_HDA_PATCH_LOADER, DEVTMPFS (closes: #560040). + * [x86] set RTL8192E, TOPSTAR_LAPTOP, I2C_SCMI. + * Explicitly disable diverse staging drivers. + + -- Ben Hutchings <ben@decadent.org.uk> Sun, 10 Jan 2010 03:22:23 +0000 + +linux-2.6 (2.6.32-4) unstable; urgency=low + + [ Ben Hutchings ] + * Correct comments referring to dpkg --print-installation-architecture + in maintainer scripts (Closes: #558077) + * modules: Skip empty sections when exporting section notes + (Closes: #563036) + * via-velocity: Give RX descriptors to the NIC later on open or MTU change + (Closes: #508527) + * dmfe/tulip: Let dmfe handle DM910x except for SPARC on-board chips + (Closes: #515533) + * Add stable release 2.6.32.3: + - ath5k: fix SWI calibration interrupt storm (may fix #563466) + - iwl3945: disable power save (Closes: #563693) + - rt2x00: Disable powersaving for rt61pci and rt2800pci (may fix #561087) + + [ maximilian attems ] + * topconfig set CAN_EMS_USB, BT_MRVL, BT_MRVL_SDIO, BE2ISCSI, SCSI_PMCRAID, + SCSI_BFA_FC, USB_GL860, USB_GSPCA_JEILINJ, I2C_SI4713, RADIO_SI4713, + RADIO_SI470X, DVB_USB_FRIIO, EDAC_I3200, SENSORS_TMP421, SENSORS_WM8350, + SBC_FITPC2_WATCHDOG, TOUCHSCREEN_MCS5000, UIO_PCI_GENERIC, KSZ8842, + KS8851, KS8851_MLL, MISDN_AVMFRITZ, MISDN_SPEEDFAX, MISDN_INFINEON, + MISDN_W6692, MISDN_NETJET, INPUT_WINBOND_CIR, BATTERY_DS2782, MFD_WM831X, + MFD_MC13783, MTD_SST25L, TOUCHSCREEN_USB_E2I, INPUT_WM831X_ON, + SENSORS_WM831X, WM831X_WATCHDOG, AB3100_OTP, REGULATOR_WM831X, + REGULATOR_MC13783, REGULATOR_AB3100, REGULATOR_TPS65023, + REGULATOR_TPS6507X, VIDEO_SAA7164, DVB_PT1, BACKLIGHT_WM831X, + SND_HDA_CODEC_CIRRUS, USB_ISP1362_HCD, LEDS_WM831X_STATUS, + MTD_ONENAND_GENERIC, B43_SDIO, B43_PHY_LP, KEYBOARD_ADP5588, QT2160, + KEYBOARD_LM8323, KEYBOARD_MAX7359, KEYBOARD_OPENCORES, MOUSE_PS2_SENTELIC, + WM831X_POWER. + * [x86] set ACPI_POWER_METER, ACPI_PROCESSOR_AGGREGATOR, SFI, + EDAC_DECODE_MCE. + * Set MOUSE_PS2_ELANTECH for various EeePc. (closes: #522920) + + [ dann frazier ] + * Fix vserver build on ia64 (Closes: #563356) + * Fix vserver build on s390 (Closes: #563355) + + [ Martin Michlmayr ] + * Report model information on armel when filing a bug. + * ARM: Add an earlyprintk debug console (Catalin Marinas) + * [armel] Enable EARLY_PRINTK. + + -- Ben Hutchings <ben@decadent.org.uk> Thu, 07 Jan 2010 03:33:39 +0000 + +linux-2.6 (2.6.32-3) unstable; urgency=high + + * The "Not a Suitable Christmas Present" release + + [ Martin Michlmayr ] + * [armel/orion5x] Build MTD_CFI_AMDSTD into the kernel again since + it's needed on the D-Link DNS-323 (thanks Manuel Roeder). + (Closes: #562205) + + [ dann frazier ] + * Input: ALPS - add support for touchpads with 4-directional button + * Input: ALPS - add interleaved protocol support (Dell E6x00 series) + (Closes: #561589) + * Re-enable vserver + + [ Ben Hutchings ] + * sfc: Apply changes from 2.6.33-rc1 adding support for SFC9000 family + * Add stable release 2.6.32.2: + - KVM: x86 emulator: limit instructions to 15 bytes (CVE-2009-4031) + - hfs: fix a potential buffer overflow (CVE-2009-4020) + * radeon: fix crtc vblank update for r600 (regression in 2.6.32.2) + * ia64: Include <linux/personality.h> header in <asm/fcntl.h>; fixes + FTBFS + * r8169: Allow RTL8168D v1 and v2 to be used without firmware files + (Closes: #561309) + * Enable vmxnet3 (VMware guest paravirt net driver) (Closes: #562046) + + -- Ben Hutchings <ben@decadent.org.uk> Thu, 24 Dec 2009 04:28:55 +0000 + +linux-2.6 (2.6.32-2) unstable; urgency=high + + [ Bastian Blank ] + * Allow memory hot-add and -remove if possible. + * Enable USB suspend. + * Enable kernel samepage merging. (closes: #558200) + * [s390] + - Enable SECCOMP. + - Enable z/VM Watchdog Timer. + + [ Moritz Muehlenhoff ] + * Disable cryptoloop (Closes: #559755) + * Initial work on a README.source file as suggested by current policy + + [ Ben Hutchings ] + * aufs2: Update to snapshot from 2009-12-05 + * postinst: Fix failure paths in check for missing firmware + (Closes: #560263) + * atl1c: Fix system hang when link drops (Closes: #559577) + * netfilter: xtables: fix conntrack match v1 ipt-save output + (Closes: #556587) + + [ Aurelien Jarno ] + * Add support for the sparc64 architecture. + + [ dann frazier ] + * Add stable release 2.6.32.1: + - ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT (CVE-2009-4306) + - ext4: avoid divide by zero when trying to mount a corrupted file system + (CVE-2009-4307) + - ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT (CVE-2009-4131) + + -- Ben Hutchings <ben@decadent.org.uk> Wed, 16 Dec 2009 21:42:49 +0000 + +linux-2.6 (2.6.32-1) unstable; urgency=low + + * New upstream release candidate: + - Fixes wifi with rt73usb (Closes: #555640) + + [ Martin Michlmayr ] + * [armel/kirkwood] Turn on USB_SUSPEND (on the request of a SheevaPlug + user). + * [mips/4kc-malta, mips/5kc-malta] Compile USB as a module rather than + into the kernel. + + [ Bastian Blank ] + * Enable PCI_MSI. + * [powerpc] Properly enable Apple PMU battery. + * [mips/mipsel] Drop remaining OSS drivers. + * [powerpc] Enable PCIe support. + * Move contents of linux-support package to /usr/share. + * Make linux-patch package depend against python. + * Use python-support instead of python-central. + * Always enable software watchdog support. + * Always enable complete USB mass storage support. + * [amd64, powerpc, sparc] Build USB support as module. + * [amd64] Build AGP support as module. + * Always enable dummy net driver support. + * Drop linux-tree package, it have no users left. + + [ Ben Hutchings ] + * Re-enable accidentally omitted drivers, thanks to Uwe Kleine-König + (Closes: #558011): + - Atheros wireless drivers (ar9170, ath5k, ath9k) + - TI wl12xx wireless drivers (wl1251_spi, wl1251_sdio and wl1271 + replace wl12xx) + - Silicon Labs Si470x FM Radio Receiver driver (radio-usb-si470x) + * Add 'removable' option to the mmc module. Setting this to 0 causes + MMC/SD cards to be assumed non-removable, and filesystems on them + will remain mounted over a suspend/resume cycle. (Closes: #504391) + * Add MODULE_FIRMWARE declarations to many drivers that lacked them, so + that missing firmware will be reported automatically during upgrades + * atl1e: Remove broken implementation of TSO for TCP/IPv6 + (Closes: #558426) and allow other hardware offloads to be disabled in + case they are also buggy + * usbnet: Set link down initially for drivers that update link state + (Closes: #444043) + * aufs2: Update to snapshot from 2009-11-29 + * i915: Enable auto-loading even though CONFIG_DRM_I915_KMS is not set + + [ dann frazier ] + * mac80211 (CVE-2009-4026, CVE-2009-4027): + - fix two remote exploits + - fix spurious delBA handling + + -- Bastian Blank <waldi@debian.org> Sun, 06 Dec 2009 18:17:39 +0100 + +linux-2.6 (2.6.32~rc8-1~experimental.1) unstable; urgency=low + + [ Ben Hutchings ] + * New upstream release candidate. + - slip: Clean up create and destroy (Closes: #408635) + - signal: Fix alternate signal stack check (Closes: #544905) + * README.Debian: Add brief information about building specific binary + packages (Closes: #546182) + * lgs8gxx: Remove firmware for lgs8g75 and use request_firmware() to + load it + * r8169: Remove firmware for RTL8168D v1 and v2 and use + request_firmware() to load it + * DocBook: Fix build breakage + * Hide WPA authentication parameters and comments when including network + configuration in bug reports + + [ Bastian Blank ] + * [mips] Don't force EMBEDDED on. + * [sparc] Don't builtin Ext2 support. + * Enable PERF_EVENTS, EVENT_PROFILE, CRYPTO_VMAC, CRYPTO_GHASH, TREE_RCU. + * Use SLUB as default SLAB allocator. + + [ Martin Michlmayr ] + * [armel] Make some options modular (since there's no reason for them + to be built in): FTL, NFTL, MTD_CFI_AMDSTD, MTD_CFI_STAA. + * [armel/orion5x, armel/kirkwood] Enable ISDN (requested by Markus + Krebs). + * Add patch from Albin Tonnerre to add HAVE_KERNEL_LZMA to arm. + * [armel] Enable KERNEL_LZMA, i.e. compress kernels with lzma to get + much better compression. + * [armel] Re-enable options that were turned off recently because of + size constraints: DEBUG_USER, DEBUG_KERNEL, BOOT_TRACER, ARM_UNWIND, + BLK_DEV_IO_TRACE and SECURITY_SELINUX. + + [ maximilian attems ] + * Simplify postinst nuke reverse symlinks handling. Patch from + Sebastian Andrzej Siewior <sebastian@breakpoint.cc>. + + -- Bastian Blank <waldi@debian.org> Sat, 21 Nov 2009 21:41:45 +0100 + +linux-2.6 (2.6.31-2) unstable; urgency=low + + [ Martin Michlmayr ] + * [armel/orion5x, armel/kirkwood] Make sure VGA_CONSOLE is disabled, + otherwise the kernel won't boot. + * [armel/kirkwood] Enable CRYPTO_DEV_MV_CESA (Closes: #552270). + * [armel/kirkwood, armel/orion5x] Enable ORION_WATCHDOG (the + name of the config variable changed). + * Add OpenRD-Client support again. + * Add QNAP TS-41x support. + * [armel/orion5x, armel/kirkwood] Enable ISDN (requested by Markus + Krebs). + * Fix a build failure of the ISDN hisax elsa driver on ARM. + * mips: fix build of vmlinux.lds (Closes: #552422). + + [ Ben Hutchings ] + * postinst: Accept absolute paths in modules.dep generated by the + lenny version of module-init-tools (Closes: #552610) + * aufs2: Remove incorrect static assertion (Closes: #554120) + * Add stable release 2.6.31.6: + - fs: pipe.c null pointer dereference (CVE-2009-3547) + - KEYS: get_instantiation_keyring() should inc the keyring refcount + in all cases (CVE-2009-3624) + - netlink: fix typo in initialization (CVE-2009-3612) + * Undo PCMCIA ABI change in 2.6.31.6 + * Hide wireless keys and wake-on-LAN password when including network + configuration in bug reports + * Add Geode LX/NX to list of 686-class processors + + [ Bastian Blank ] + * [powerpc] Remove SMP warning from PowerMac cpufreq (Closes: #554124) + + [ maximilian Attems ] + * Really fix making a debian kernel installable without kernel-img.conf. + Thanks for patch to Sebastian Andrzej Siewior <sebastian@breakpoint.cc>. + (closes: #555093). + + -- Ben Hutchings <ben@decadent.org.uk> Sun, 15 Nov 2009 18:47:49 +0000 + +linux-2.6 (2.6.31-1) unstable; urgency=low + + [ Ben Hutchings ] + * Include aufs2, marked as staging (Closes: #541828) + * Include speakup modules under staging + * Add stable release 2.6.31.5 + * [x86_64] Enable NUMA_EMU (Closes: #541389) + + [ Martin Michlmayr ] + * CPUidle: always return with interrupts enabled. + * [armel/orion5x, armel/kirkwood] Enable FB since some Kirkwood + machines have a VGA chip (e.g. OpenRD-Client) and because it's + possible to use a DisplayLink USB virtual graphics adapter. + + [ maximilian attems ] + * [alpha] Disable SND_MIXART, causes gcc ICE. + * [x86] Enable modular X86_MCE_INJECT. + * [x86_32] Set LSM_MMAP_MIN_ADDR to zero to unbreak dosemu and 16-bit Wine, + ia64 and x86_64 to 65536 otherwise default to 32768. + * Unset UEVENT_HELPER_PATH to save some boot cycles. + + [ Bastian Blank ] + * Set ABI to 1. + * Enable Apple PMU battery. (closes: #544264) + + -- Bastian Blank <waldi@debian.org> Sat, 24 Oct 2009 19:17:30 +0200 + +linux-2.6 (2.6.31-1~experimental.2) experimental; urgency=low + + [ Ben Hutchings ] + * Include more information in bug reports: + - Model information + - Firmware package status + - Network configuration and status (optional) + - USB device list + * nfs: Avoid overrun when copying client IP address string + (Closes: #549002) + * Add support for DEB_BUILD_OPTIONS=parallel=N (Closes: #458560) + * sfc: Fix initial link state + * Improve package descriptions + - Clarify the differences between i386 flavours (Closes: #414690) + - Simplify wording of the description template + * Add stable release 2.6.31.3 + * Remove /usr/include/scsi from linux-libc-dev; these headers are + provided by libc6-dev (Closes: #550130) + * Remove dummy dot-files from linux-libc-dev + * hfsplus: Refuse to mount volumes larger than 2TB, which may otherwise + be corrupted (Closes: #550010) + * Add stable release 2.6.31.4 + - x86: Don't leak 64-bit kernel register values to 32-bit processes + (CVE-2009-2910) + - appletalk: Fix skb leak when ipddp interface is not loaded + (CVE-2009-2903) + + [ maximilian attems ] + * Add stable release 2.6.31.2 + - ax25: Fix signed comparison in the sockopt handler (CVE-2009-2909) + - PM / yenta: Fix cardbus suspend/resume regression (Closes: #522828) + + [ dann frazier ] + * [sparc] build zImage by default, fixes build + * [ia64] Fix call to elilo in postinst + + -- maximilian attems <maks@debian.org> Mon, 12 Oct 2009 23:54:52 +0200 + +linux-2.6 (2.6.31-1~experimental.1) experimental; urgency=low + + * New upstream release. + - Support for W83627DHG-P (closes: #535646). - Restore MAC address and MTU change operations on Orinoco and others (Closes: #536455) - Remove incorrect ACPI blacklisting of ASUS P4B266 mainboards - (Closes: #525625) + (Closes: #525625) - atl1c fixes for Eee PC model 1005HA-H. (closes: #538410) - parisc64-smp boot fix on J5600. (closes: #539369) - parisc: Fix GOT overflow during module load on 64bit kernel (closes: #539378) - xfs: fix freeing of inodes not yet added to the inode cache - (Closes: #527517) + (Closes: #527517) + - IPv6: add "disable" module parameter support to ipv6.ko. + (closes: #542470) + - IPv6: avoid wraparound for expired preferred lifetime + (Closes: #518710) + - Fixes lockups with older dual-CPU machines (Closes: #542551) + - x86, pat: Allow ISA memory range uncacheable mapping requests + (Closes: #538159) + - drm/i915: Hook connector to encoder during load detection + (Closes: #522358) + - module: workaround duplicate section names (Closes: #545229) + - b43: Add fw capabilities (Closes: #533357) + - procfs: Fix idle time in uptime (Closes: #545981) + - e1000, e1000e, igb, ixgb, ixgbe: Fix initial link state + (Closes: #546041) + - CIFS: Handle port= mount option correctly (Closes: #524142) + - i915: Prevent screen flickering in X11 (Closes: #545377) + - hppa: Ensure broadcast tlb purge runs single threaded + (Closes: #539215) [ maximilian attems ] * [powerpc64] Enable modular RTC_DRV_PS3, PS3_VRAM. - (Closes: #528694) + (Closes: #528694) * Set new NETFILTER_XT_MATCH_OSF, FIREWIRE_NET, SND_CTXFI, USB_XHCI_HCD, IEEE802154, CAN_DEV, EEPROM_MAX6875, DM_LOG_USERSPACE, DM_MULTIPATH_QL, DM_MULTIPATH_ST, LIBERTAS_SPI, CAN_SJA1000, CAN_SJA1000_PLATFORM, @@ -26,7 +530,8 @@ linux-2.6 (2.6.31~rc5-1~experimental.1) UNRELEASED; urgency=low REGULATOR_MAX1586, REGULATOR_LP3971, MEDIA_SUPPORT, CUSE, WL12XX, PPS, AB3100_CORE, SND_HDA_INPUT_JACK,MMC_SDHCI_PLTFM, MMC_CB710, MMC_VIA_SDMMC, LEDS_LP3944, RTC_DRV_RX8025, - SMARTJOYPLUS_FF, USB_CDC_PHONET, USB_GSPCA_SN9C20X, MOUSE_SYNAPTICS_I2C. + SMARTJOYPLUS_FF, USB_CDC_PHONET, USB_GSPCA_SN9C20X, MOUSE_SYNAPTICS_I2C, + PCIEAER_INJECT. * Disable v4l1 ov511 and quickcam_messenger drivers. * [x86_64] Enable HW_RANDOM_VIA. * [x86] Keep divers staging stuff enabled. @@ -37,33 +542,236 @@ linux-2.6 (2.6.31~rc5-1~experimental.1) UNRELEASED; urgency=low * Newer Standards-Version 3.8.2 without changes. * Allow install in chroot without do_initrd check for piuparts. * Cleanup Maintainer scripts from ancient pre linux-2.6 assumptions. + (Also closes: #536333) * Disable DEVKMEM. * [ppc, sparc] Enable EFI_PARTITION. (closes: #540486) + * Disable old USB_DEVICE_CLASS. (Closes: #510279) + * Drop yaird initramfs generator support. + * Add stable release 2.6.31.1. + * Enable PREEMPT_VOLUNTARY. [ Ben Hutchings ] * mga: remove unnecessary change from firmware-loading patch * cxgb3: remove PHY firmware and use request_firmware() to load it * Add firmware-linux-free package containing DFSG-free firmware * av7110: include firmware source and binary + * snd-cs46xx: reenable using external firmware (closes: #464197, + but note that Debian cannot currently distribute the firmware), + thanks to Kalle Olavi Niemitalo <kon@iki.fi> + * ib_ipath: remove firmware for QLogic IBA7220 and use + request_firmware() to load it + * dvb-usb-af9005: remove initialisation script derived from Windows + driver and use request_firmware() to extract it at run-time + (closes: #494119) + * Add warning on upgrade to a new upstream version where the system + appears to be missing necessary firmware files (closes: #541702) + * qla1280: Release spinlock when requesting firmware (closes: #543244) + * r128: Add test for initialisation to all ioctls that require it + (closes: #541630) + * rt{2860,2870,3070}sta: Use existing CCITT CRC implementation on + firmware rather than adding an equivalent variant of ITU-T CRC + * rd: Build as a module since we do not require initrd support + * x86: Fix crash in text_poke_early() on 486-class processors + (Closes: #515982) + * intel-agp: Fix cache flushing on i8xx chipsets, avoiding graphics + corruption and GPU lock-ups (Closes: #541307) + * Generate architecture-qualified package relations as needed for + flavours that exist for multiple architectures (Closes: #278729) + * Prompt bug reporters to run the kernel version they're reporting on + or otherwise record boot messages + * Include PCI device list in bug reports even if the running kernel + doesn't match [ Martin Michlmayr ] * [armel/orion5x, armel/kirkwood] Set GPIO_SYSFS=y since these platforms have been converted to GPIOLIB. + * [armel/orion5x, armel/kirkwood] Disable MARVELL_PHY since it may + lead to conflicts with the built-in Ethernet. + * Add features from 2.6.32: + - crypto: mv_cesa - Add support for Orion5X crypto engine + * [armel/orion5x] Enable CRYPTO_DEV_MV_CESA. + * Disable SYS_HAS_EARLY_PRINTK on SGI IP22 to work around a hang + during bootup (Closes: #507557) + * [armel] Enable BPQETHER (on the request of Iain Young) and some + other AX25 drivers. [ Bastian Blank ] * Disable staging drivers by default. + * Force all bugs against images to be reported to linux-2.6. + (closes: #539176) + * [arm] Remove old arm architecture. + * Use kernel architecture for libc-dev build. [ Moritz Muehlenhoff ] * Fix Linus' name in copyright file (Closes: #530620) * More verbose explanation on difference between Alpha flavour (Closes: #497230) + * Add Vcs-Svn and Vcs-Browser stanzas pointing to the SVN branch + used for development in unstable. There are other branches + used for experimental (trunk), oldstable and stable, but Vcs-* + doesn't yet provide the ability to distinguish branches in a + more fine-grained manner. (Closes: #471495) + * Update Standards-Version to 3.8.3, no changes needed + * Disable PROM console support (Closes: #525958) + * Make the description of linux-support a little more verbose + (Closes: #400825) + * This upload fixes the following security issues: + - CVE-2009-3290 (2.6.31) + - CVE-2009-3288 (2.6.31.1) + - CVE-2009-3280 (2.6.31.1) + - CVE-2009-3234 (2.6.31.1) + - CVE-2009-3043 (2.6.31) + - CVE-2009-3002 (2.6.31) + - CVE-2009-3001 (2.6.31) + - CVE-2009-2844 (2.6.31) + - CVE-2009-2695 (2.6.31) + - CVE-2009-2691 (2.6.31) [ dann frazier ] * n_tty: Fix echo race * [ia64] Stop disabling CONFIG_HOTPLUG_CPU, which was blocking CONFIG_KEXEC from being enabled + * [hppa] Disable CONFIG_AB3100_CORE, it fails to build - -- maximilian attems <maks@debian.org> Thu, 18 Jun 2009 23:50:56 +0200 + -- maximilian attems <maks@debian.org> Sun, 04 Oct 2009 20:27:05 +0200 + +linux-2.6 (2.6.30-8) unstable; urgency=low + + [ Martin Michlmayr ] + * Disable SYS_HAS_EARLY_PRINTK on SGI IP22 to work around a hang + during bootup (Closes: #507557) + * module: workaround duplicate section names to fix a panic on + boot on hppa (Closes: #545229). + * Add stable release 2.6.30.8. + * [armel/kirkwood] Add Marvell OpenRD-Client support (Dhaval Vasa). + Thanks Stefan Kaltenbrunner. + + -- Bastian Blank <waldi@debian.org> Fri, 25 Sep 2009 23:47:56 +0200 + +linux-2.6 (2.6.30-7) unstable; urgency=low + + [ Martin Michlmayr ] + * [armel/kirkwood] Enable eSATA on QNAP TS-219P (John Holland). + * [armel/kirkwood] Marvell OpenRD-Base board support (Dhaval Vasa). + * [armel/kirkwood] Initialise SATA for OpenRD-Base (Ron Lee). + * [armel/kirkwood] Enable SATA_AHCI. + + [ Ben Hutchings ] + * qla1280: Release spinlock when requesting firmware (closes: #543244) + * r128: Add test for initialisation to all ioctls that require it + (closes: #541630) + * [i386] Fix crash in text_poke_early() on 486-class processors + (Closes: #515982) + * intel-agp: Fix cache flushing on i8xx chipsets, avoiding graphics + corruption and GPU lock-ups (Closes: #541307) + * [i386] Allow ISA memory range uncacheable mapping requests + (Closes: #538159) + * Fix idle time in /proc/uptime (Closes: #545981) + * e1000, e1000e, igb, ixgb, ixgbe, sfc: Fix initial link state + (Closes: #546041) + + [ Bastian Blank ] + * Add stable release 2.6.30.5. + - drm/i915: Hook connector to encoder during load detection + (fixes tv/vga detect) (Closes: #522358) + * Add stable release 2.6.30.6. + - x86: Fix lock-up on SMP Pentium Pro, Pentium 2, Pentium 3, and + Athlon MP systems (Closes: #542551) + - NET: Fix information leaks from getsockname() (CVE-2009-3001, + CVE-2009-3002) + - iwl3945/rfkill: Reenable radio when hardware switch turned back on + (Closes: #530554) + * Bump ABI to 2. + * Apply missing fixes: + - block: fix sg SG_DXFER_TO_FROM_DEV regression. + - sched_rt: Fix overload bug on rt group scheduling. + * Add stable release 2.6.30.7. + * [sparc] Disable PROM console. (closes: #525958) + + -- Bastian Blank <waldi@debian.org> Wed, 16 Sep 2009 17:23:13 +0200 + +linux-2.6 (2.6.30-6) unstable; urgency=high + + [ Bastian Blank ] + * Set default low address space protection to default value. + + [ dann frazier ] + * Make sock_sendpage() use kernel_sendpage() (CVE-2009-2692) + * flat: fix uninitialized ptr with shared libs + * [parisc] isa-eeprom - Fix loff_t usage + * do_sigaltstack: avoid copying 'stack_t' as a structure to user space + * posix-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW + + -- Bastian Blank <waldi@debian.org> Sat, 15 Aug 2009 15:50:02 +0200 + +linux-2.6 (2.6.30-5) unstable; urgency=high + + [ maximilian attems ] + * Add stable release 2.6.30.4. + - cifs: fix regression with O_EXCL creates and optimize away lookup + (closes: #536426) + - ecryptfs: check tag 11 literal data buffer size (CVE-2009-2406) + - ecryptfs: check tag 3 package encrypted size (CVE-2009-2407) + * Ignore nf_conntrack ABI change. + * Revert to keep ABI: + - block: fix sg SG_DXFER_TO_FROM_DEV regression. + - sched_rt: Fix overload bug on rt group scheduling. + * [hppa]: Ignore any ABI (broke on 2.6.30.2). + + -- maximilian attems <maks@debian.org> Mon, 03 Aug 2009 12:08:56 +0200 + +linux-2.6 (2.6.30-4) unstable; urgency=low + + [ Bastian Blank ] + * Add stable release 2.6.30.2. + * Fix pci access in x86 startup code. (closes: #537783) + * Ignore ABI changes. + * Include all plattform and mach specific headers on arm. + + [ maximilian attems ] + * Add stable release 2.6.30.3. + + -- Bastian Blank <waldi@debian.org> Thu, 30 Jul 2009 11:55:11 +0200 + +linux-2.6 (2.6.30-3) unstable; urgency=low + + [ Bastian Blank ] + * Build-Depend against cpio. (closes: #536196) + + [ Martin Michlmayr ] + * [arm] Export __cpu_flush_dcache_page. + + [ Aurelien Jarno ] + * [ia64] Fix asm/fpu.h includes. + + [ dann frazier ] + * Fix NULL pointer dereference in tun_chr_pool() (CVE-2009-1897) + * personality: fix PER_CLEAR_ON_SETID (CVE-2009-1895) + * Add -fno-delete-null-pointer-checks to CFLAGS + + -- Bastian Blank <waldi@debian.org> Sat, 18 Jul 2009 10:00:01 +0200 + +linux-2.6 (2.6.30-2) unstable; urgency=low + + [ dann frazier ] + * [powerpc] Use generic rtc (closes: #535354) + * [parisc] + - ensure broadcast tlb purge runs single threaded + - fix ldcw inline assembler + (closes: #535844) + + [ Bastian Blank ] + * Add stable release 2.6.30.1: + - KVM: x86: check for cr3 validity in ioctl_set_sregs (CVE-2009-2287) + - ALSA: intel8x0 - Fix PCM position craziness (closes: #533780) + - ide-cd: prevent null pointer deref via cdrom_newpc_intr (closes: #535342) + * Ignore ABI changes. + + [ maximilian attems ] + * [alpha] Add upstream smp buildfix. + * [parisc] Disable vxge and niu. + + -- Bastian Blank <waldi@debian.org> Tue, 07 Jul 2009 14:45:43 +0200 linux-2.6 (2.6.30-1) unstable; urgency=low @@ -866,7 +1574,7 @@ linux-2.6 (2.6.26-9) unstable; urgency=low [ Stephen R. Marenka ] * [m68k] add patches to fix atari ethernec per Michael Schmitz: atari-ethernec-IRQF_SHARED.diff and atari-ethernec-fixes.diff. - * [m68k] add mac-esp-fix-for-quadras-with-two-esp-chips.diff to fix macs + * [m68k] add mac-esp-fix-for-quadras-with-two-esp-chips.diff to fix macs with dual scsi busses and a problem with xorg, per Finn Thain. * [m68k] add atari-atari_keyb_init-operator-precedence.diff per Michael Schmitz. @@ -1311,7 +2019,7 @@ linux-2.6 (2.6.26-1) unstable; urgency=low * [x86]: Enable dma engine. (closes: #473331) * [ppc64]: Enable IBMEBUS and EHEA. (closes: #484888) * topconfig: Enable PROFILING across all flavours. (closes: #484885) - * 486: enable OLPC support thanks Andres Salomon for merge. + * 486: enable OLPC support thanks Andres Salomon for merge. Kconfig variable patch by Robert Millan (closes: #485063). * Add request_firmware patch for ip2. * Add request_firmware patch for acenic. (closes: #284221) @@ -1644,7 +2352,7 @@ linux-2.6 (2.6.25-4) unstable; urgency=low * Backport netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__. (closes: #479899) * types.h: don't expose struct ustat to userspace. (closes: #429064) - + [ Bastian Blank ] * Fix ABI changes from: ipvs: fix oops in backup for fwmark conn templates @@ -1734,7 +2442,7 @@ linux-2.6 (2.6.25-2) unstable; urgency=low * [m68k] Add patches for 2.6.25. * [m68k] Disable EXT4DEV_FS for now. * [m68k] Enable SCSI_MAC_ESP for mac. - + [ Ian Campbell ] * [x86]: Enable Xen guest support in all i386 flavours. @@ -5786,7 +6494,7 @@ linux-2.6 (2.6.15-1) unstable; urgency=low - net-ipconntrack-nat-fix.patch: merged upstream after 2.6.14 release - net-nf_queue-oops.patch: merged upstream after 2.6.14 release - qla2xxx-removed.patch: obsolete - * Drop M386 support remains from the i386 386 flavour: built with M486 + * Drop M386 support remains from the i386 386 flavour: built with M486 from now on. [ Martin Michlmayr ] @@ -5807,7 +6515,7 @@ linux-2.6 (2.6.15-1) unstable; urgency=low * Drop tty-locking-fixes9.patch, which was preventing the oops during shutdown on some sparc machines with serial console. Proper fix has been incorporated upstream. - + [ Simon Horman ] * Enable MKISS globally (closes: #340215) * Add recommends libc6-i686 to 686 and k7 image packages @@ -6185,14 +6893,14 @@ linux-2.6 (2.6.13+2.6.14-rc4-0experimental.1) experimental; urgency=low * deactivate FB_RIVA on all architectures. * deactivate BLK_DEV_IDESCSI on all architectures. * Added patch-2.6.13.4: - - [SECURITY] key: plug request_key_auth memleak + - [SECURITY] key: plug request_key_auth memleak See CAN-2005-3119 - [SECURITY] Fix drm 'debug' sysfs permissions See CAN-2005-3179 - [SECURITY] Avoid 'names_cache' memory leak with CONFIG_AUDITSYSCALL - [SPARC64] Fix userland FPU state corruption. - BIC coding bug in Linux 2.6.13 - - [SECURITY] orinoco: Information leakage due to incorrect padding + - [SECURITY] orinoco: Information leakage due to incorrect padding See CAN-2005-3180 - ieee1394/sbp2: fixes for hot-unplug and module unloading @@ -6488,7 +7196,7 @@ linux-2.6 (2.6.12-2) unstable; urgency=low * Added list of flavours built to common header package. (Sven Luther) -- Bastian Blank <waldi@debian.org> Tue, 09 Aug 2005 11:12:40 +0200 - + linux-2.6 (2.6.12-1) unstable; urgency=low * New upstream release: @@ -6519,7 +7227,7 @@ linux-2.6 (2.6.12-1) unstable; urgency=low http://www.ussg.iu.edu/hypermail/linux/kernel/0502.3/1095.html, this is unnecessary for us) (Andres Salomon) - sparc64-rtc-mostek.patch (merged) - - sparc64-compat-nanoseconds.patch (merged) + - sparc64-compat-nanoseconds.patch (merged) - sparc64-sunsu-init-2.6.11.patch (merged) - sunsab-uart-update-timeout.patch (merged) - alpha-read-trylock.patch (different version got merged) @@ -6543,7 +7251,7 @@ linux-2.6 (2.6.12-1) unstable; urgency=low - powerpc-mv643xx-eth-pegasos.patch (merged) - powerpc-pmac-agp-sleep.patch (merged) - drivers-input-serio-8042-resume.patch (merged) - + * Premiere of the common-source kernel package (Jurij Smakov, Andres Salomon) - build all architectures out of kernel source package @@ -6589,7 +7297,7 @@ linux-2.6 (2.6.12-1) unstable; urgency=low - Disabled software-suspend on powerpc-smp, FTBFS, amd64/i386 only smp code. - Rediffed and readded the G4 L2 hardware flush assist patch from Jacob Pan. (Sven Luther) - + * [sparc] - Drop sparc32 flavour for now. sparc32 kernel is currently in the category "too buggy for us to support". In spite of numerous efforts @@ -6609,8 +7317,8 @@ linux-2.6 (2.6.12-1) unstable; urgency=low (Norbert Tretkowski) * [amd64] - - Now using the default compiler (gcc-4.0), thus we get rid of the - annoying MAKEFLAGS="CC=gcc-3.4" make-kpkg... invocation for third-party + - Now using the default compiler (gcc-4.0), thus we get rid of the + annoying MAKEFLAGS="CC=gcc-3.4" make-kpkg... invocation for third-party modules. This release lacks 64bit kernels for i386 userland; support will be added in a later release as soon as the toolchain has stabilized again. diff --git a/config/alpha/config b/config/alpha/config index 7984f13..ada3400 100644 --- a/config/alpha/config +++ b/config/alpha/config @@ -216,8 +216,6 @@ CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_FSCHER=m -CONFIG_SENSORS_FSCPOS=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_IT87=m @@ -278,11 +276,6 @@ CONFIG_I2C_STUB=m CONFIG_SCx200_ACB=m ## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m - -## ## file: drivers/ide/Kconfig ## CONFIG_IDE=m @@ -341,10 +334,10 @@ CONFIG_INPUT_JOYSTICK=y ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_XTKBD=m CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m ## ## file: drivers/input/misc/Kconfig @@ -536,7 +529,6 @@ CONFIG_RADIO_SF16FMR2=m CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m -CONFIG_RADIO_TYPHOON_PROC_FS=y CONFIG_RADIO_ZOLTRIX=m CONFIG_USB_DSBR=m @@ -651,7 +643,6 @@ CONFIG_MTD_NAND=m ## ## file: drivers/net/Kconfig ## -CONFIG_DUMMY=m CONFIG_NET_SB1000=m CONFIG_HAPPYMEAL=m CONFIG_SUNGEM=m @@ -745,15 +736,10 @@ CONFIG_ARCNET_COM20020_PCI=m ## ## file: drivers/net/hamradio/Kconfig ## -CONFIG_BPQETHER=m CONFIG_DMASCC=m CONFIG_SCC=m # CONFIG_SCC_DELAY is not set # CONFIG_SCC_TRXECHO is not set -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_YAM=m ## ## file: drivers/net/irda/Kconfig @@ -853,11 +839,6 @@ CONFIG_PCI_HERMES=m CONFIG_PCMCIA_HERMES=m ## -## file: drivers/pci/Kconfig -## -# CONFIG_PCI_DEBUG is not set - -## ## file: drivers/pcmcia/Kconfig ## CONFIG_PCCARD=m @@ -979,19 +960,6 @@ CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -1002,41 +970,6 @@ CONFIG_USB_SL811_HCD=m CONFIG_USB_SL811_CS=m ## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_RIO500=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_LED=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_TEST=m - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -# CONFIG_USB_STORAGE_USBAT is not set -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y - -## ## file: drivers/video/Kconfig ## CONFIG_FB=y @@ -1061,7 +994,6 @@ CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_MATROX_MULTIHEAD=y CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y # CONFIG_FB_RADEON_DEBUG is not set @@ -1105,15 +1037,11 @@ CONFIG_FONT_8x16=y ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_SOFT_WATCHDOG=m CONFIG_PCWATCHDOG=m CONFIG_MIXCOMWD=m CONFIG_WDT=m CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m -CONFIG_WDT_501_PCI=y CONFIG_USBPCWATCHDOG=m ## @@ -1151,7 +1079,6 @@ CONFIG_LDM_PARTITION=y CONFIG_SGI_PARTITION=y CONFIG_ULTRIX_PARTITION=y CONFIG_SUN_PARTITION=y -# CONFIG_EFI_PARTITION is not set ## ## file: init/Kconfig @@ -1286,32 +1213,6 @@ CONFIG_SND_SSCAPE=m CONFIG_SND_WAVEFRONT=m ## -## file: sound/oss/Kconfig -## -# CONFIG_SOUND_MSNDCLAS is not set -# CONFIG_SOUND_MSNDPIN is not set -CONFIG_SOUND_OSS=m -# CONFIG_SOUND_TRACEINIT is not set -# CONFIG_SOUND_DMAP is not set -CONFIG_SOUND_SSCAPE=m -CONFIG_SOUND_VMIDI=m -CONFIG_SOUND_TRIX=m -CONFIG_SOUND_MSS=m -CONFIG_SOUND_MPU401=m -CONFIG_SOUND_PAS=m -CONFIG_SOUND_PSS=m -CONFIG_PSS_MIXER=y -CONFIG_SOUND_SB=m -CONFIG_SOUND_YM3812=m -CONFIG_SOUND_UART6850=m -CONFIG_SOUND_AEDSP16=m -CONFIG_SC6600=y -CONFIG_SC6600_JOY=y -CONFIG_SC6600_CDROM=4 -CONFIG_SC6600_CDROMBASE=0x0 -CONFIG_SOUND_KAHLUA=m - -## ## file: sound/pci/Kconfig ## CONFIG_SND_ALS4000=m @@ -1344,7 +1245,7 @@ CONFIG_SND_INTEL8X0=m CONFIG_SND_INTEL8X0M=m CONFIG_SND_KORG1212=m CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m +# CONFIG_SND_MIXART is not set CONFIG_SND_NM256=m CONFIG_SND_RME32=m CONFIG_SND_RME96=m @@ -1362,7 +1263,7 @@ CONFIG_SND_YMFPCI=m CONFIG_SND_HDA_INTEL=m ## -## file: sound/usb/Kconfig +## file: unknown ## -CONFIG_SND_USB_USX2Y=m +CONFIG_RADIO_TYPHOON_PROC_FS=y diff --git a/config/alpha/defines b/config/alpha/defines index ad80e82..f6357a3 100644 --- a/config/alpha/defines +++ b/config/alpha/defines @@ -7,14 +7,14 @@ kernel-arch: alpha [image] suggests: aboot, fdutils -[alpha-generic_base] -class: Alpha -longclass: DEC Alpha with extended kernel start address (Wildfire, Titan, Marvel) +[alpha-generic_description] +hardware: Alpha +hardware-long: DEC Alpha systems with extended kernel start address (Wildfire, Titan, Marvel) -[alpha-smp_base] -class: Alpha SMP -longclass: DEC Alpha/SMP with extended kernel start address (Wildfire, Titan, Marvel) +[alpha-smp_description] +hardware: Alpha SMP +hardware-long: DEC Alpha SMP systems with extended kernel start address (Wildfire, Titan, Marvel) -[alpha-legacy_base] -class: Alpha Legacy -longclass: DEC Alpha with legacy kernel start address +[alpha-legacy_description] +hardware: Alpha Legacy +hardware-long: DEC Alpha systems with legacy kernel start address diff --git a/config/alpha/vserver/defines b/config/alpha/vserver/defines index 2d358a4..aa754a2 100644 --- a/config/alpha/vserver/defines +++ b/config/alpha/vserver/defines @@ -1,8 +1,8 @@ [base] flavours: alpha -[alpha_base] -class: Alpha +[alpha_description] +hardware: Alpha [alpha_image] configs: alpha/config.alpha-generic diff --git a/config/amd64/config b/config/amd64/config deleted file mode 100644 index 13bf6eb..0000000 --- a/config/amd64/config +++ /dev/null @@ -1,1321 +0,0 @@ -## -## file: crypto/Kconfig -## -CONFIG_CRYPTO_CRC32C_INTEL=m -CONFIG_CRYPTO_AES_NI_INTEL=m - -## -## file: drivers/ata/Kconfig -## -# CONFIG_PATA_SIS is not set - -## -## file: drivers/atm/Kconfig -## -CONFIG_ATM_DRIVERS=y -CONFIG_ATM_TCP=m -CONFIG_ATM_LANAI=m -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_DEBUG is not set -# CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set -CONFIG_ATM_IDT77252=m -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set -# CONFIG_ATM_FORE200E_USE_TASKLET is not set -CONFIG_ATM_FORE200E_TX_RETRY=16 -CONFIG_ATM_FORE200E_DEBUG=0 -CONFIG_ATM_HE=m -CONFIG_ATM_HE_USE_SUNI=y - -## -## file: drivers/auxdisplay/Kconfig -## -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 -CONFIG_KS0108_DELAY=2 - -## -## file: drivers/block/Kconfig -## -CONFIG_BLK_DEV_FD=m -CONFIG_PARIDE=m -CONFIG_BLK_CPQ_DA=m -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_CISS_SCSI_TAPE=y -CONFIG_BLK_DEV_DAC960=m -CONFIG_BLK_DEV_UMEM=m -CONFIG_BLK_DEV_SX8=m -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -## -## file: drivers/block/paride/Kconfig -## -CONFIG_PARIDE_PD=m -CONFIG_PARIDE_PCD=m -CONFIG_PARIDE_PF=m -CONFIG_PARIDE_PT=m -CONFIG_PARIDE_PG=m -CONFIG_PARIDE_ATEN=m -CONFIG_PARIDE_BPCK=m -CONFIG_PARIDE_COMM=m -CONFIG_PARIDE_DSTR=m -CONFIG_PARIDE_FIT2=m -CONFIG_PARIDE_FIT3=m -CONFIG_PARIDE_EPAT=m -# CONFIG_PARIDE_EPATC8 is not set -CONFIG_PARIDE_EPIA=m -CONFIG_PARIDE_FRIQ=m -CONFIG_PARIDE_FRPW=m -CONFIG_PARIDE_KBIC=m -CONFIG_PARIDE_KTTI=m -CONFIG_PARIDE_ON20=m -CONFIG_PARIDE_ON26=m - -## -## file: drivers/bluetooth/Kconfig -## -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIDTL1=m -CONFIG_BT_HCIBT3C=m -CONFIG_BT_HCIBLUECARD=m -CONFIG_BT_HCIBTUART=m -CONFIG_BT_HCIVHCI=m - -## -## file: drivers/char/Kconfig -## -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_SERIAL_NONSTANDARD=y -CONFIG_ROCKETPORT=m -CONFIG_CYCLADES=m -# CONFIG_CYZ_INTR is not set -CONFIG_MOXA_INTELLIO=m -CONFIG_ISI=m -CONFIG_SYNCLINK=m -CONFIG_SYNCLINKMP=m -CONFIG_N_HDLC=m -CONFIG_SPECIALIX=m -CONFIG_SX=m -CONFIG_RIO=m -CONFIG_RIO_OLDPCI=y -CONFIG_STALDRV=y -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -CONFIG_PPDEV=m -CONFIG_NVRAM=m -CONFIG_DTLK=m -CONFIG_R3964=m -CONFIG_APPLICOM=m -CONFIG_MWAVE=m -CONFIG_RAW_DRIVER=m -CONFIG_MAX_RAW_DEVS=256 -CONFIG_HPET=y -CONFIG_HPET_MMAP=y -CONFIG_HANGCHECK_TIMER=m - -## -## file: drivers/char/agp/Kconfig -## -CONFIG_AGP=y -CONFIG_AGP_AMD64=y -CONFIG_AGP_INTEL=m -CONFIG_AGP_SIS=m -CONFIG_AGP_VIA=m - -## -## file: drivers/char/ipmi/Kconfig -## -CONFIG_IPMI_HANDLER=m -# CONFIG_IPMI_PANIC_EVENT is not set -CONFIG_IPMI_DEVICE_INTERFACE=m -CONFIG_IPMI_SI=m -CONFIG_IPMI_WATCHDOG=m -CONFIG_IPMI_POWEROFF=m - -## -## file: drivers/cpuidle/Kconfig -## -CONFIG_CPU_IDLE=y - -## -## file: drivers/dma/Kconfig -## -CONFIG_DMADEVICES=y -CONFIG_INTEL_IOATDMA=m -CONFIG_NET_DMA=y - -## -## file: drivers/firmware/Kconfig -## -CONFIG_EDD=m -# CONFIG_EDD_OFF is not set -CONFIG_EFI_VARS=m -CONFIG_DELL_RBU=m -CONFIG_DCDBAS=m -CONFIG_DMIID=y -CONFIG_ISCSI_IBFT_FIND=y -CONFIG_ISCSI_IBFT=y - -## -## file: drivers/gpu/drm/Kconfig -## -CONFIG_DRM=m -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -CONFIG_DRM_I810=m -## choice: Intel 830M, 845G, 852GM, 855GM, 865G -CONFIG_DRM_I830=m -CONFIG_DRM_I915=m -# CONFIG_DRM_I915_KMS is not set -## end choice -CONFIG_DRM_MGA=m -CONFIG_DRM_SIS=m - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -## -## file: drivers/hwmon/Kconfig -## -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_K8TEMP=m -CONFIG_SENSORS_ASB100=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_FSCHER=m -CONFIG_SENSORS_FSCPOS=m -CONFIG_SENSORS_GL518SM=m -CONFIG_SENSORS_GL520SM=m -CONFIG_SENSORS_IT87=m -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_PC87360=m -CONFIG_SENSORS_PCF8591=m -CONFIG_SENSORS_SIS5595=m -CONFIG_SENSORS_SMSC47M1=m -CONFIG_SENSORS_SMSC47B397=m -CONFIG_SENSORS_VIA686A=m -CONFIG_SENSORS_W83781D=m -CONFIG_SENSORS_W83L785TS=m -CONFIG_SENSORS_W83627HF=m -CONFIG_SENSORS_HDAPS=m - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set - -## -## file: drivers/i2c/busses/Kconfig -## -CONFIG_I2C_ALI1535=m -CONFIG_I2C_ALI1563=m -CONFIG_I2C_ALI15X3=m -CONFIG_I2C_AMD756=m -CONFIG_I2C_AMD756_S4882=m -CONFIG_I2C_AMD8111=m -CONFIG_I2C_I801=m -CONFIG_I2C_PIIX4=m -CONFIG_I2C_NFORCE2=m -CONFIG_I2C_SIS5595=m -CONFIG_I2C_SIS630=m -CONFIG_I2C_SIS96X=m -CONFIG_I2C_VIA=m -CONFIG_I2C_VIAPRO=m -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_VOODOO3=m -CONFIG_I2C_PCA_ISA=m -CONFIG_I2C_STUB=m -CONFIG_SCx200_ACB=m - -## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m - -## -## file: drivers/ide/Kconfig -## -CONFIG_IDE=m -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=m -CONFIG_BLK_DEV_IDECS=m -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -CONFIG_BLK_DEV_IDEACPI=y -CONFIG_IDE_GENERIC=m -CONFIG_BLK_DEV_CMD640=y -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set -CONFIG_BLK_DEV_IDEPNP=y -# CONFIG_IDEPCI_PCIBUS_ORDER is not set -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=m -CONFIG_BLK_DEV_OPTI621=m -CONFIG_BLK_DEV_RZ1000=m -CONFIG_BLK_DEV_AEC62XX=m -CONFIG_BLK_DEV_ALI15X3=m -CONFIG_BLK_DEV_AMD74XX=m -CONFIG_BLK_DEV_ATIIXP=m -CONFIG_BLK_DEV_CMD64X=m -CONFIG_BLK_DEV_TRIFLEX=m -CONFIG_BLK_DEV_CY82C693=m -CONFIG_BLK_DEV_CS5520=m -CONFIG_BLK_DEV_CS5530=m -CONFIG_BLK_DEV_HPT366=m -CONFIG_BLK_DEV_SC1200=m -CONFIG_BLK_DEV_PIIX=m -CONFIG_BLK_DEV_NS87415=m -CONFIG_BLK_DEV_PDC202XX_OLD=m -CONFIG_BLK_DEV_PDC202XX_NEW=m -CONFIG_BLK_DEV_SVWKS=m -CONFIG_BLK_DEV_SIIMAGE=m -CONFIG_BLK_DEV_SIS5513=m -CONFIG_BLK_DEV_SLC90E66=m -CONFIG_BLK_DEV_TRM290=m -CONFIG_BLK_DEV_VIA82CXXX=m - -## -## file: drivers/input/gameport/Kconfig -## -CONFIG_GAMEPORT=m -CONFIG_GAMEPORT_NS558=m -CONFIG_GAMEPORT_L4=m -CONFIG_GAMEPORT_EMU10K1=m -CONFIG_GAMEPORT_FM801=m - -## -## file: drivers/input/joystick/Kconfig -## -CONFIG_INPUT_JOYSTICK=y - -## -## file: drivers/input/keyboard/Kconfig -## -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_SUNKBD=m -CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_XTKBD=m -CONFIG_KEYBOARD_NEWTON=m - -## -## file: drivers/input/misc/Kconfig -## -CONFIG_INPUT_MISC=y -CONFIG_INPUT_PCSPKR=m -CONFIG_INPUT_APANEL=m -CONFIG_INPUT_ATLAS_BTNS=m -CONFIG_INPUT_UINPUT=m - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=m -CONFIG_MOUSE_PS2_LOGIPS2PP=y -CONFIG_MOUSE_PS2_SYNAPTICS=y -CONFIG_MOUSE_PS2_LIFEBOOK=y -CONFIG_MOUSE_PS2_TRACKPOINT=y -CONFIG_MOUSE_SERIAL=m -CONFIG_MOUSE_APPLETOUCH=m -CONFIG_MOUSE_BCM5974=m -CONFIG_MOUSE_VSXXXAA=m - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=m -CONFIG_SERIO_CT82C710=m -CONFIG_SERIO_PARKBD=m -CONFIG_SERIO_PCIPS2=m -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=m - -## -## file: drivers/input/tablet/Kconfig -## -CONFIG_INPUT_TABLET=y -CONFIG_TABLET_USB_ACECAD=m -CONFIG_TABLET_USB_AIPTEK=m -CONFIG_TABLET_USB_GTCO=m -CONFIG_TABLET_USB_KBTAB=m -CONFIG_TABLET_USB_WACOM=m - -## -## file: drivers/input/touchscreen/Kconfig -## -CONFIG_INPUT_TOUCHSCREEN=y - -## -## file: drivers/isdn/Kconfig -## -CONFIG_ISDN=y -CONFIG_ISDN_I4L=m -CONFIG_ISDN_CAPI=m - -## -## file: drivers/isdn/capi/Kconfig -## -CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y -CONFIG_ISDN_CAPI_MIDDLEWARE=y -CONFIG_ISDN_CAPI_CAPI20=m -CONFIG_ISDN_CAPI_CAPIFS_BOOL=y -CONFIG_ISDN_CAPI_CAPIDRV=m - -## -## file: drivers/isdn/hardware/avm/Kconfig -## -CONFIG_CAPI_AVM=y -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_AVM_CS=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_AVMB1_C4=m - -## -## file: drivers/isdn/hardware/eicon/Kconfig -## -CONFIG_CAPI_EICON=y -CONFIG_ISDN_DIVAS=m -CONFIG_ISDN_DIVAS_BRIPCI=y -CONFIG_ISDN_DIVAS_PRIPCI=y -CONFIG_ISDN_DIVAS_DIVACAPI=m -CONFIG_ISDN_DIVAS_USERIDI=m -CONFIG_ISDN_DIVAS_MAINT=m - -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_3=y -CONFIG_HISAX_TELESPCI=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_NETJET=y -CONFIG_HISAX_NETJET_U=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_HFC_PCI=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -CONFIG_HISAX_ENTERNOW_PCI=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_SEDLBAUER_CS=m -CONFIG_HISAX_ELSA_CS=m -CONFIG_HISAX_AVM_A1_CS=m -CONFIG_HISAX_TELES_CS=m -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y -CONFIG_ISDN_DIVERSION=m - -## -## file: drivers/leds/Kconfig -## -CONFIG_LEDS_CLEVO_MAIL=m - -## -## file: drivers/macintosh/Kconfig -## -CONFIG_MACINTOSH_DRIVERS=y -CONFIG_MAC_EMUMOUSEBTN=y - -## -## file: drivers/media/Kconfig -## -CONFIG_DVB_CORE=m - -## -## file: drivers/media/radio/Kconfig -## -CONFIG_RADIO_GEMTEK_PCI=m -CONFIG_RADIO_MAXIRADIO=m -CONFIG_RADIO_MAESTRO=m -CONFIG_USB_DSBR=m - -## -## file: drivers/message/i2o/Kconfig -## -CONFIG_I2O=m -CONFIG_I2O_CONFIG=m -CONFIG_I2O_BLOCK=m -CONFIG_I2O_SCSI=m -CONFIG_I2O_PROC=m - -## -## file: drivers/misc/Kconfig -## -CONFIG_IBM_ASM=m -CONFIG_PHANTOM=m -CONFIG_HP_ILO=m -CONFIG_DELL_LAPTOP=m - -## -## file: drivers/mmc/Kconfig -## -CONFIG_MMC=m -# CONFIG_MMC_DEBUG is not set - -## -## file: drivers/mmc/card/Kconfig -## -CONFIG_MMC_BLOCK=m - -## -## file: drivers/mtd/Kconfig -## -CONFIG_MTD=m -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_CONCAT=m -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=y -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -CONFIG_MTD_CHAR=m -CONFIG_MTD_BLOCK=m -CONFIG_MTD_BLOCK_RO=m -CONFIG_FTL=m -CONFIG_NFTL=m -CONFIG_NFTL_RW=y -CONFIG_INFTL=m - -## -## file: drivers/mtd/chips/Kconfig -## -CONFIG_MTD_CFI=m -CONFIG_MTD_JEDECPROBE=m -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=m -CONFIG_MTD_CFI_AMDSTD=m -CONFIG_MTD_CFI_STAA=m -CONFIG_MTD_RAM=m -CONFIG_MTD_ROM=m -CONFIG_MTD_ABSENT=m - -## -## file: drivers/mtd/devices/Kconfig -## -CONFIG_MTD_PMC551=m -# CONFIG_MTD_PMC551_BUGFIX is not set -# CONFIG_MTD_PMC551_DEBUG is not set -CONFIG_MTD_SLRAM=m -CONFIG_MTD_PHRAM=m -CONFIG_MTD_MTDRAM=m -CONFIG_MTDRAM_TOTAL_SIZE=4096 -CONFIG_MTDRAM_ERASE_SIZE=128 -CONFIG_MTD_BLOCK2MTD=m -CONFIG_MTD_DOC2000=m -CONFIG_MTD_DOC2001=m -CONFIG_MTD_DOC2001PLUS=m -# CONFIG_MTD_DOCPROBE_ADVANCED is not set -CONFIG_MTD_DOCPROBE_ADDRESS=0 - -## -## file: drivers/mtd/maps/Kconfig -## -CONFIG_MTD_COMPLEX_MAPPINGS=y -CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_COMPAT is not set -CONFIG_MTD_PHYSMAP_START=0x8000000 -CONFIG_MTD_PHYSMAP_LEN=0x4000000 -CONFIG_MTD_PHYSMAP_BANKWIDTH=2 -CONFIG_MTD_SC520CDP=m -CONFIG_MTD_NETSC520=m -CONFIG_MTD_TS5500=m -CONFIG_MTD_SBC_GXX=m -# CONFIG_MTD_AMD76XROM is not set -# CONFIG_MTD_ICHXROM is not set -# CONFIG_MTD_SCB2_FLASH is not set -CONFIG_MTD_NETtel=m -CONFIG_MTD_DILNETPC=m -CONFIG_MTD_DILNETPC_BOOTSIZE=0x80000 -# CONFIG_MTD_L440GX is not set -CONFIG_MTD_PCI=m - -## -## file: drivers/mtd/nand/Kconfig -## -CONFIG_MTD_NAND=m -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -CONFIG_MTD_NAND_DISKONCHIP=m -# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set -CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 -# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set -CONFIG_MTD_NAND_PLATFORM=m - -## -## file: drivers/net/Kconfig -## -CONFIG_DUMMY=m -CONFIG_NET_SB1000=m -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_HP100=m -CONFIG_NET_PCI=y -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_B44=m -CONFIG_FORCEDETH=m -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_ATP=m -CONFIG_DE600=m -CONFIG_DE620=m -CONFIG_FDDI=y -CONFIG_SKFP=m -CONFIG_HIPPI=y -CONFIG_ROADRUNNER=m -# CONFIG_ROADRUNNER_LARGE_RINGS is not set -CONFIG_PLIP=m -CONFIG_NET_FC=y -# CONFIG_NETPOLL_TRAP is not set - -## -## file: drivers/net/arcnet/Kconfig -## -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -CONFIG_ARCNET_1051=m -CONFIG_ARCNET_RAW=m -CONFIG_ARCNET_CAP=m -CONFIG_ARCNET_COM90xx=m -CONFIG_ARCNET_COM90xxIO=m -CONFIG_ARCNET_RIM_I=m -CONFIG_ARCNET_COM20020=m -CONFIG_ARCNET_COM20020_PCI=m - -## -## file: drivers/net/hamradio/Kconfig -## -CONFIG_BPQETHER=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_YAM=m - -## -## file: drivers/net/irda/Kconfig -## -CONFIG_IRTTY_SIR=m -CONFIG_USB_IRDA=m -CONFIG_SIGMATEL_FIR=m -CONFIG_NSC_FIR=m -CONFIG_WINBOND_FIR=m -CONFIG_SMC_IRCC_FIR=m -CONFIG_ALI_FIR=m -CONFIG_VLSI_FIR=m -CONFIG_VIA_FIR=m - -## -## file: drivers/net/pcmcia/Kconfig -## -CONFIG_NET_PCMCIA=y -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m -CONFIG_ARCNET_COM20020_CS=m - -## -## file: drivers/net/tulip/Kconfig -## -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -CONFIG_DE4X5=m -CONFIG_WINBOND_840=m -CONFIG_DM9102=m -CONFIG_PCMCIA_XIRCOM=m - -## -## file: drivers/net/wan/Kconfig -## -CONFIG_WAN=y -CONFIG_LANMEDIA=m -CONFIG_PCI200SYN=m -CONFIG_WANXL=m -CONFIG_PC300=m -CONFIG_PC300_MLPPP=y -CONFIG_FARSYNC=m -CONFIG_DSCC4=m -CONFIG_DSCC4_PCISYNC=y -CONFIG_DSCC4_PCI_RST=y -CONFIG_DLCI=m -CONFIG_DLCI_MAX=8 -CONFIG_CYCLADES_SYNC=m -CONFIG_CYCLOMX_X25=y -CONFIG_LAPBETHER=m -CONFIG_X25_ASY=m -CONFIG_SBNI=m -# CONFIG_SBNI_MULTILINE is not set - -## -## file: drivers/net/wireless/Kconfig -## -CONFIG_WLAN_PRE80211=y -CONFIG_STRIP=m -CONFIG_PCMCIA_WAVELAN=m -CONFIG_PCMCIA_NETWAVE=m -CONFIG_WLAN_80211=y -CONFIG_PCMCIA_RAYCS=m -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m -CONFIG_PCMCIA_ATMEL=m -CONFIG_AIRO_CS=m -CONFIG_PCMCIA_WL3501=m -CONFIG_USB_ZD1201=m - -## -## file: drivers/net/wireless/ipw2x00/Kconfig -## -# CONFIG_IPW2100 is not set - -## -## file: drivers/net/wireless/orinoco/Kconfig -## -CONFIG_HERMES=m -CONFIG_PLX_HERMES=m -CONFIG_TMD_HERMES=m -CONFIG_PCI_HERMES=m -CONFIG_PCMCIA_HERMES=m - -## -## file: drivers/pci/Kconfig -## -CONFIG_PCI_MSI=y -# CONFIG_PCI_DEBUG is not set -CONFIG_HT_IRQ=y - -## -## file: drivers/pci/hotplug/Kconfig -## -CONFIG_HOTPLUG_PCI=m -CONFIG_HOTPLUG_PCI_FAKE=m -CONFIG_HOTPLUG_PCI_ACPI=m -CONFIG_HOTPLUG_PCI_ACPI_IBM=m -CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m -CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m -CONFIG_HOTPLUG_PCI_SHPC=m - -## -## file: drivers/pci/pcie/Kconfig -## -CONFIG_PCIEPORTBUS=y -CONFIG_HOTPLUG_PCI_PCIE=m - -## -## file: drivers/pci/pcie/aer/Kconfig -## -CONFIG_PCIEAER=y - -## -## file: drivers/pcmcia/Kconfig -## -CONFIG_PCCARD=m -# CONFIG_PCMCIA_DEBUG is not set -CONFIG_PCMCIA=m -CONFIG_CARDBUS=y -CONFIG_YENTA=m -CONFIG_PD6729=m -CONFIG_I82092=m -CONFIG_TCIC=m - -## -## file: drivers/pnp/Kconfig -## -CONFIG_PNP=y - -## -## file: drivers/power/Kconfig -## -CONFIG_POWER_SUPPLY=m -# CONFIG_POWER_SUPPLY_DEBUG is not set -CONFIG_PDA_POWER=m -CONFIG_BATTERY_DS2760=m - -## -## file: drivers/rtc/Kconfig -## -CONFIG_RTC_DRV_CMOS=y - -## -## file: drivers/scsi/Kconfig -## -CONFIG_SCSI_DPT_I2O=m -CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_BUSLOGIC=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_EATA=m -CONFIG_SCSI_EATA_TAGGED_QUEUE=y -CONFIG_SCSI_EATA_LINKED_COMMANDS=y -CONFIG_SCSI_EATA_MAX_TAGS=16 -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_GDTH=m -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_IPR=m -# CONFIG_SCSI_IPR_TRACE is not set -# CONFIG_SCSI_IPR_DUMP is not set -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m -CONFIG_SCSI_DEBUG=m - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m - -## -## file: drivers/scsi/pcmcia/Kconfig -## -CONFIG_PCMCIA_FDOMAIN=m -CONFIG_PCMCIA_QLOGIC=m -CONFIG_PCMCIA_SYM53C500=m - -## -## file: drivers/serial/Kconfig -## -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_CS=m -CONFIG_SERIAL_8250_NR_UARTS=32 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_JSM=m - -## -## file: drivers/telephony/Kconfig -## -CONFIG_PHONE=m -CONFIG_PHONE_IXJ=m -CONFIG_PHONE_IXJ_PCMCIA=m - -## -## file: drivers/thermal/Kconfig -## -CONFIG_THERMAL=m -CONFIG_THERMAL_HWMON=y - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=y -CONFIG_USB_USS720=m - -## -## file: drivers/usb/atm/Kconfig -## -CONFIG_USB_ATM=m -CONFIG_USB_SPEEDTOUCH=m - -## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_SUSPEND=y - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_OHCI_HCD=m -# CONFIG_USB_OHCI_HCD_SSB is not set -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_SL811_HCD=m -CONFIG_USB_SL811_CS=m - -## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_RIO500=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_LED=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_TEST=m - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y - -## -## file: drivers/video/Kconfig -## -CONFIG_VIDEO_OUTPUT_CONTROL=m -CONFIG_FB=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -CONFIG_FB_PM2_FIFO_DISCONNECT=y -CONFIG_FB_CYBER2000=m -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -CONFIG_FB_VGA16=m -CONFIG_FB_UVESA=m -CONFIG_FB_VESA=y -CONFIG_FB_EFI=y -CONFIG_FB_N411=m -CONFIG_FB_HGA=m -# CONFIG_FB_HGA_ACCEL is not set -CONFIG_FB_S1D13XXX=m -CONFIG_FB_NVIDIA=m -# CONFIG_FB_NVIDIA_I2C is not set -CONFIG_FB_NVIDIA_BACKLIGHT=y -# CONFIG_FB_RIVA is not set -# CONFIG_FB_RIVA_I2C is not set -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_LE80578=m -CONFIG_FB_CARILLO_RANCH=m -CONFIG_FB_INTEL=m -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_I2C=m -CONFIG_FB_MATROX_MULTIHEAD=y -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -CONFIG_FB_RADEON_BACKLIGHT=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY128_BACKLIGHT=y -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -# CONFIG_FB_ATY_GENERIC_LCD is not set -CONFIG_FB_ATY_GX=y -CONFIG_FB_ATY_BACKLIGHT=y -CONFIG_FB_SAVAGE=m -# CONFIG_FB_SAVAGE_I2C is not set -# CONFIG_FB_SAVAGE_ACCEL is not set -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_VOODOO1=m -CONFIG_FB_TRIDENT=m -CONFIG_FB_VIRTUAL=m - -## -## file: drivers/video/backlight/Kconfig -## -CONFIG_BACKLIGHT_PROGEAR=m - -## -## file: drivers/video/console/Kconfig -## -CONFIG_VGA_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -## -## file: drivers/video/geode/Kconfig -## -# CONFIG_FB_GEODE is not set - -## -## file: drivers/video/logo/Kconfig -## -# CONFIG_LOGO is not set - -## -## file: drivers/watchdog/Kconfig -## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_SOFT_WATCHDOG=m -CONFIG_ACQUIRE_WDT=m -CONFIG_ADVANTECH_WDT=m -CONFIG_ALIM1535_WDT=m -CONFIG_ALIM7101_WDT=m -CONFIG_SC520_WDT=m -CONFIG_EUROTECH_WDT=m -CONFIG_IB700_WDT=m -CONFIG_IBMASR=m -CONFIG_WAFER_WDT=m -CONFIG_I6300ESB_WDT=m -CONFIG_IT8712F_WDT=m -CONFIG_HP_WATCHDOG=m -CONFIG_SC1200_WDT=m -CONFIG_60XX_WDT=m -CONFIG_SBC8360_WDT=m -CONFIG_CPU5_WDT=m -CONFIG_W83627HF_WDT=m -CONFIG_W83877F_WDT=m -CONFIG_W83977F_WDT=m -CONFIG_MACHZ_WDT=m -CONFIG_PCIPCWATCHDOG=m -CONFIG_WDTPCI=m -CONFIG_WDT_501_PCI=y -CONFIG_USBPCWATCHDOG=m - -## -## file: fs/partitions/Kconfig -## -CONFIG_ACORN_PARTITION=y -# CONFIG_ACORN_PARTITION_CUMANA is not set -# CONFIG_ACORN_PARTITION_EESOX is not set -CONFIG_ACORN_PARTITION_ICS=y -# CONFIG_ACORN_PARTITION_ADFS is not set -# CONFIG_ACORN_PARTITION_POWERTEC is not set -CONFIG_ACORN_PARTITION_RISCIX=y -CONFIG_OSF_PARTITION=y -CONFIG_AMIGA_PARTITION=y -CONFIG_ATARI_PARTITION=y -CONFIG_MAC_PARTITION=y -CONFIG_BSD_DISKLABEL=y -CONFIG_MINIX_SUBPARTITION=y -CONFIG_SOLARIS_X86_PARTITION=y -CONFIG_UNIXWARE_DISKLABEL=y -CONFIG_LDM_PARTITION=y -# CONFIG_LDM_DEBUG is not set -CONFIG_SGI_PARTITION=y -CONFIG_ULTRIX_PARTITION=y -CONFIG_SUN_PARTITION=y -CONFIG_EFI_PARTITION=y - -## -## file: kernel/trace/Kconfig -## -# CONFIG_MMIOTRACE is not set - -## -## file: lib/Kconfig.debug -## -# CONFIG_DEBUG_SHIRQ is not set -# CONFIG_FRAME_POINTER is not set -# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set - -## -## file: mm/Kconfig.debug -## -# CONFIG_DEBUG_PAGEALLOC is not set - -## -## file: net/atm/Kconfig -## -CONFIG_ATM=m -CONFIG_ATM_CLIP=m -# CONFIG_ATM_CLIP_NO_ICMP is not set -CONFIG_ATM_LANE=m -CONFIG_ATM_MPOA=m -CONFIG_ATM_BR2684=m -# CONFIG_ATM_BR2684_IPFILTER is not set - -## -## file: net/ax25/Kconfig -## -CONFIG_HAMRADIO=y -CONFIG_AX25=m -# CONFIG_AX25_DAMA_SLAVE is not set -CONFIG_NETROM=m -CONFIG_ROSE=m - -## -## file: net/decnet/Kconfig -## -CONFIG_DECNET=m -# CONFIG_DECNET_ROUTER is not set - -## -## file: net/decnet/netfilter/Kconfig -## -CONFIG_DECNET_NF_GRABULATOR=m - -## -## file: net/econet/Kconfig -## -CONFIG_ECONET=m -CONFIG_ECONET_AUNUDP=y -CONFIG_ECONET_NATIVE=y - -## -## file: net/ipx/Kconfig -## -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set - -## -## file: net/irda/Kconfig -## -CONFIG_IRDA=m -# CONFIG_IRDA_ULTRA is not set -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -# CONFIG_IRDA_DEBUG is not set - -## -## file: net/irda/ircomm/Kconfig -## -CONFIG_IRCOMM=m - -## -## file: net/irda/irlan/Kconfig -## -CONFIG_IRLAN=m - -## -## file: net/irda/irnet/Kconfig -## -CONFIG_IRNET=m - -## -## file: net/lapb/Kconfig -## -CONFIG_LAPB=m - -## -## file: net/wanrouter/Kconfig -## -CONFIG_WAN_ROUTER=m - -## -## file: net/x25/Kconfig -## -CONFIG_X25=m - -## -## file: sound/drivers/Kconfig -## -CONFIG_SND_DUMMY=m -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_MPU401=m - -## -## file: sound/oss/Kconfig -## -# CONFIG_SOUND_MSNDCLAS is not set -# CONFIG_SOUND_MSNDPIN is not set -CONFIG_SOUND_OSS=m -# CONFIG_SOUND_TRACEINIT is not set -# CONFIG_SOUND_DMAP is not set -CONFIG_SOUND_SSCAPE=m -CONFIG_SOUND_VMIDI=m -CONFIG_SOUND_TRIX=m -CONFIG_SOUND_MSS=m -CONFIG_SOUND_MPU401=m -CONFIG_SOUND_PAS=m -CONFIG_SOUND_PSS=m -CONFIG_PSS_MIXER=y -CONFIG_SOUND_SB=m -CONFIG_SOUND_YM3812=m -CONFIG_SOUND_UART6850=m -CONFIG_SOUND_AEDSP16=m -CONFIG_SC6600=y -CONFIG_SC6600_JOY=y -CONFIG_SC6600_CDROM=4 -CONFIG_SC6600_CDROMBASE=0x0 -CONFIG_SOUND_KAHLUA=m - -## -## file: sound/pci/Kconfig -## -CONFIG_SND_ALS4000=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_HDSP=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m - -## -## file: sound/pci/hda/Kconfig -## -CONFIG_SND_HDA_INTEL=m - -## -## file: sound/usb/Kconfig -## -CONFIG_SND_USB_USX2Y=m - diff --git a/config/amd64/config.amd64 b/config/amd64/config.amd64 deleted file mode 100644 index 9384270..0000000 --- a/config/amd64/config.amd64 +++ /dev/null @@ -1,11 +0,0 @@ -## -## file: drivers/char/Kconfig -## -CONFIG_DIGIEPCA=m - -## -## file: drivers/video/Kconfig -## -CONFIG_FB_MATROX_G=y -CONFIG_FB_MATROX_MAVEN=m - diff --git a/config/amd64/defines b/config/amd64/defines index 739b2c2..dbd2e80 100644 --- a/config/amd64/defines +++ b/config/amd64/defines @@ -1,6 +1,5 @@ [base] featuresets: - openvz vserver xen flavours: @@ -10,15 +9,13 @@ kernel-arch: x86 [image] configs: kernelarch-x86/config - amd64/config suggests: grub | lilo -[amd64_base] -class: AMD64 -longclass: all 64bit single- and multiprocessor AMD and Intel +[amd64_description] +hardware: 64-bit PCs +hardware-long: PCs with AMD64 or Intel 64 processors +parts: xen [amd64_image] configs: kernelarch-x86/config-arch-64 - amd64/config.amd64 -desc-parts: xen diff --git a/config/arm/config b/config/arm/config deleted file mode 100644 index 423bfaa..0000000 --- a/config/arm/config +++ /dev/null @@ -1,68 +0,0 @@ -## -## file: arch/arm/Kconfig -## -## choice: ARM system type -# CONFIG_ARCH_REALVIEW is not set -## end choice -# CONFIG_AEABI is not set - -## -## file: drivers/ieee1394/Kconfig -## -# CONFIG_IEEE1394 is not set - -## -## file: drivers/input/Kconfig -## -# CONFIG_INPUT_FF_MEMLESS is not set - -## -## file: drivers/net/wireless/ipw2x00/Kconfig -## -# CONFIG_IPW2100 is not set - -## -## file: drivers/scsi/Kconfig -## -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_HPTIOP is not set - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic79xx -## -# CONFIG_SCSI_AIC79XX is not set - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -# CONFIG_SCSI_AIC7XXX is not set - -## -## file: drivers/scsi/aic94xx/Kconfig -## -# CONFIG_SCSI_AIC94XX is not set - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -# CONFIG_MEGARAID_SAS is not set - -## -## file: drivers/scsi/qla2xxx/Kconfig -## -# CONFIG_SCSI_QLA_FC is not set - -## -## file: drivers/scsi/qla4xxx/Kconfig -## -# CONFIG_SCSI_QLA_ISCSI is not set - -## -## file: net/econet/Kconfig -## -CONFIG_ECONET_AUNUDP=y -CONFIG_ECONET_NATIVE=y - diff --git a/config/arm/config.footbridge b/config/arm/config.footbridge deleted file mode 100644 index a15ee66..0000000 --- a/config/arm/config.footbridge +++ /dev/null @@ -1,1468 +0,0 @@ -## -## file: arch/arm/Kconfig -## -## choice: ARM system type -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -CONFIG_ARCH_FOOTBRIDGE=y -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_OMAP is not set -## end choice -CONFIG_PCI=y -# CONFIG_SMP is not set -# CONFIG_PREEMPT is not set -CONFIG_LEDS=y -CONFIG_LEDS_TIMER=y -# CONFIG_LEDS_CPU is not set -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="" -# CONFIG_XIP_KERNEL is not set -CONFIG_FPE_NWFPE=y -CONFIG_FPE_NWFPE_XP=y -# CONFIG_FPE_FASTFPE is not set -# CONFIG_ARTHUR is not set - -## -## file: arch/arm/Kconfig.debug -## -CONFIG_DEBUG_USER=y -# CONFIG_DEBUG_ERRORS is not set -# CONFIG_DEBUG_LL is not set - -## -## file: arch/arm/mach-footbridge/Kconfig -## -CONFIG_ARCH_CATS=y -CONFIG_ARCH_PERSONAL_SERVER=y -# CONFIG_ARCH_EBSA285_ADDIN is not set -CONFIG_ARCH_EBSA285_HOST=y -CONFIG_ARCH_NETWINDER=y - -## -## file: arch/arm/mm/Kconfig -## -CONFIG_CPU_SA110=y - -## -## file: drivers/ata/Kconfig -## -# CONFIG_ATA is not set - -## -## file: drivers/atm/Kconfig -## -# CONFIG_ATM_DRIVERS is not set -# CONFIG_ATM_TCP is not set -# CONFIG_ATM_LANAI is not set -# CONFIG_ATM_ENI is not set -# CONFIG_ATM_FIRESTREAM is not set -# CONFIG_ATM_ZATM is not set -# CONFIG_ATM_NICSTAR is not set -# CONFIG_ATM_IDT77252 is not set -# CONFIG_ATM_AMBASSADOR is not set -# CONFIG_ATM_HORIZON is not set -# CONFIG_ATM_IA is not set -# CONFIG_ATM_HE is not set - -## -## file: drivers/block/Kconfig -## -# CONFIG_BLK_DEV_FD is not set -# CONFIG_BLK_DEV_XD is not set -CONFIG_PARIDE=m -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=8192 -# CONFIG_CDROM_PKTCDVD is not set -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -## -## file: drivers/block/paride/Kconfig -## -CONFIG_PARIDE_PD=m -CONFIG_PARIDE_PCD=m -CONFIG_PARIDE_PF=m -CONFIG_PARIDE_PT=m -CONFIG_PARIDE_PG=m -CONFIG_PARIDE_ATEN=m -CONFIG_PARIDE_BPCK=m -# CONFIG_PARIDE_BPCK6 is not set -CONFIG_PARIDE_COMM=m -CONFIG_PARIDE_DSTR=m -CONFIG_PARIDE_FIT2=m -CONFIG_PARIDE_FIT3=m -CONFIG_PARIDE_EPAT=m -# CONFIG_PARIDE_EPATC8 is not set -CONFIG_PARIDE_EPIA=m -CONFIG_PARIDE_FRIQ=m -CONFIG_PARIDE_FRPW=m -CONFIG_PARIDE_KBIC=m -CONFIG_PARIDE_KTTI=m -CONFIG_PARIDE_ON20=m -CONFIG_PARIDE_ON26=m - -## -## file: drivers/bluetooth/Kconfig -## -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIDTL1=m -CONFIG_BT_HCIBT3C=m -CONFIG_BT_HCIBLUECARD=m -CONFIG_BT_HCIBTUART=m -CONFIG_BT_HCIVHCI=m - -## -## file: drivers/char/Kconfig -## -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_SERIAL_NONSTANDARD=y -# CONFIG_ROCKETPORT is not set -# CONFIG_CYCLADES is not set -# CONFIG_DIGIEPCA is not set -# CONFIG_ESPSERIAL is not set -# CONFIG_MOXA_INTELLIO is not set -# CONFIG_MOXA_SMARTIO is not set -# CONFIG_ISI is not set -# CONFIG_SYNCLINK is not set -# CONFIG_SYNCLINKMP is not set -# CONFIG_N_HDLC is not set -# CONFIG_RISCOM8 is not set -# CONFIG_SPECIALIX is not set -# CONFIG_SX is not set -# CONFIG_RIO is not set -# CONFIG_STALDRV is not set -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -# CONFIG_PPDEV is not set -CONFIG_DS1620=y -CONFIG_NWBUTTON=y -CONFIG_NWBUTTON_REBOOT=y -CONFIG_NWFLASH=m -CONFIG_NVRAM=m -CONFIG_RTC=y -# CONFIG_DTLK is not set -# CONFIG_APPLICOM is not set - -## -## file: drivers/char/ipmi/Kconfig -## -# CONFIG_IPMI_HANDLER is not set - -## -## file: drivers/char/pcmcia/Kconfig -## -# CONFIG_SYNCLINK_CS is not set - -## -## file: drivers/char/tpm/Kconfig -## -# CONFIG_TCG_TPM is not set - -## -## file: drivers/firewire/Kconfig -## -# CONFIG_FIREWIRE is not set - -## -## file: drivers/gpu/drm/Kconfig -## -# CONFIG_DRM is not set - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -# CONFIG_USB_HIDDEV is not set -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -## -## file: drivers/hwmon/Kconfig -## -CONFIG_HWMON=y -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ASB100 is not set -CONFIG_SENSORS_ATXP1=m -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -CONFIG_SENSORS_W83627EHF=m -# CONFIG_HWMON_DEBUG_CHIP is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -# CONFIG_I2C_CHARDEV is not set -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set - -## -## file: drivers/i2c/busses/Kconfig -## -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_PARPORT is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_VOODOO3 is not set -# CONFIG_I2C_ELEKTOR is not set -# CONFIG_I2C_PCA_ISA is not set -# CONFIG_I2C_STUB is not set -# CONFIG_SCx200_ACB is not set - -## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set -CONFIG_SENSORS_PCA9539=m -CONFIG_SENSORS_MAX6875=m - -## -## file: drivers/ide/Kconfig -## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -# CONFIG_BLK_DEV_IDECS is not set -CONFIG_BLK_DEV_IDECD=m -# CONFIG_BLK_DEV_IDETAPE is not set -CONFIG_IDE_GENERIC=y -# CONFIG_BLK_DEV_IDEPNP is not set -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=m -CONFIG_BLK_DEV_OPTI621=m -CONFIG_BLK_DEV_AEC62XX=m -CONFIG_BLK_DEV_ALI15X3=m -# CONFIG_BLK_DEV_AMD74XX is not set -CONFIG_BLK_DEV_CMD64X=m -CONFIG_BLK_DEV_TRIFLEX=m -CONFIG_BLK_DEV_CY82C693=m -CONFIG_BLK_DEV_CS5520=m -CONFIG_BLK_DEV_CS5530=m -CONFIG_BLK_DEV_HPT366=m -CONFIG_BLK_DEV_SC1200=m -CONFIG_BLK_DEV_PIIX=m -CONFIG_BLK_DEV_NS87415=m -CONFIG_BLK_DEV_PDC202XX_OLD=m -CONFIG_BLK_DEV_PDC202XX_NEW=m -CONFIG_BLK_DEV_SVWKS=m -CONFIG_BLK_DEV_SIIMAGE=m -CONFIG_BLK_DEV_SL82C105=y -# CONFIG_BLK_DEV_SLC90E66 is not set -CONFIG_BLK_DEV_TRM290=m -CONFIG_BLK_DEV_VIA82CXXX=m -# CONFIG_BLK_DEV_4DRIVES is not set -# CONFIG_BLK_DEV_ALI14XX is not set -# CONFIG_BLK_DEV_DTC2278 is not set -# CONFIG_BLK_DEV_HT6560B is not set -# CONFIG_BLK_DEV_QD65XX is not set -# CONFIG_BLK_DEV_UMC8672 is not set - -## -## file: drivers/input/Kconfig -## -# CONFIG_INPUT_JOYDEV is not set - -## -## file: drivers/input/gameport/Kconfig -## -# CONFIG_GAMEPORT is not set - -## -## file: drivers/input/joystick/Kconfig -## -# CONFIG_INPUT_JOYSTICK is not set - -## -## file: drivers/input/keyboard/Kconfig -## -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set - -## -## file: drivers/input/misc/Kconfig -## -# CONFIG_INPUT_MISC is not set - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y -# CONFIG_MOUSE_SERIAL is not set -# CONFIG_MOUSE_INPORT is not set -# CONFIG_MOUSE_LOGIBM is not set -# CONFIG_MOUSE_PC110PAD is not set -# CONFIG_MOUSE_VSXXXAA is not set - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_PARKBD is not set -# CONFIG_SERIO_PCIPS2 is not set -CONFIG_SERIO_LIBPS2=y -# CONFIG_SERIO_RAW is not set - -## -## file: drivers/input/touchscreen/Kconfig -## -# CONFIG_INPUT_TOUCHSCREEN is not set - -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - -## -## file: drivers/md/Kconfig -## -CONFIG_MD=y - -## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m - -## -## file: drivers/media/radio/Kconfig -## -# CONFIG_RADIO_CADET is not set -# CONFIG_RADIO_RTRACK is not set -# CONFIG_RADIO_RTRACK2 is not set -# CONFIG_RADIO_AZTECH is not set -# CONFIG_RADIO_GEMTEK is not set -# CONFIG_RADIO_GEMTEK_PCI is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_MAESTRO is not set -# CONFIG_RADIO_SF16FMI is not set -# CONFIG_RADIO_SF16FMR2 is not set -# CONFIG_RADIO_TERRATEC is not set -# CONFIG_RADIO_TRUST is not set -# CONFIG_RADIO_TYPHOON is not set -# CONFIG_RADIO_ZOLTRIX is not set -# CONFIG_USB_DSBR is not set - -## -## file: drivers/media/video/Kconfig -## -# CONFIG_VIDEO_PMS is not set -# CONFIG_VIDEO_BWQCAM is not set -# CONFIG_VIDEO_CQCAM is not set -# CONFIG_VIDEO_W9966 is not set -# CONFIG_VIDEO_CPIA is not set -# CONFIG_VIDEO_SAA5246A is not set -# CONFIG_VIDEO_SAA5249 is not set -# CONFIG_VIDEO_STRADIS is not set -# CONFIG_VIDEO_MXB is not set -# CONFIG_VIDEO_HEXIUM_ORION is not set -# CONFIG_VIDEO_HEXIUM_GEMINI is not set -# CONFIG_VIDEO_OVCAMCHIP is not set -# CONFIG_USB_W9968CF is not set -# CONFIG_USB_OV511 is not set -# CONFIG_USB_SE401 is not set -# CONFIG_USB_STV680 is not set - -## -## file: drivers/media/video/bt8xx/Kconfig -## -# CONFIG_VIDEO_BT848 is not set - -## -## file: drivers/media/video/cx88/Kconfig -## -# CONFIG_VIDEO_CX88 is not set - -## -## file: drivers/media/video/pwc/Kconfig -## -# CONFIG_USB_PWC is not set - -## -## file: drivers/media/video/saa7134/Kconfig -## -# CONFIG_VIDEO_SAA7134_ALSA is not set - -## -## file: drivers/media/video/sn9c102/Kconfig -## -# CONFIG_USB_SN9C102 is not set - -## -## file: drivers/media/video/usbvideo/Kconfig -## -# CONFIG_USB_VICAM is not set -# CONFIG_USB_IBMCAM is not set -# CONFIG_USB_KONICAWC is not set - -## -## file: drivers/media/video/zoran/Kconfig -## -# CONFIG_VIDEO_ZORAN is not set - -## -## file: drivers/message/fusion/Kconfig -## -CONFIG_FUSION=y -CONFIG_FUSION_SPI=m -CONFIG_FUSION_FC=m -CONFIG_FUSION_SAS=m -CONFIG_FUSION_MAX_SGE=40 -CONFIG_FUSION_CTL=m - -## -## file: drivers/message/i2o/Kconfig -## -# CONFIG_I2O is not set - -## -## file: drivers/mmc/Kconfig -## -# CONFIG_MMC is not set - -## -## file: drivers/mtd/Kconfig -## -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -# CONFIG_MTD_PARTITIONS is not set -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set - -## -## file: drivers/mtd/chips/Kconfig -## -CONFIG_MTD_CFI=y -CONFIG_MTD_JEDECPROBE=y -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_STAA=y -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_XIP is not set - -## -## file: drivers/mtd/devices/Kconfig -## -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set - -## -## file: drivers/mtd/maps/Kconfig -## -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_ARM_INTEGRATOR is not set -CONFIG_MTD_DC21285=y -# CONFIG_MTD_IMPA7 is not set -# CONFIG_MTD_PCI is not set -# CONFIG_MTD_PLATRAM is not set - -## -## file: drivers/mtd/nand/Kconfig -## -# CONFIG_MTD_NAND is not set - -## -## file: drivers/mtd/onenand/Kconfig -## -# CONFIG_MTD_ONENAND_GENERIC is not set - -## -## file: drivers/net/Kconfig -## -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set -# CONFIG_NET_SB1000 is not set -CONFIG_NET_ETHERNET=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_CASSINI is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_EL1 is not set -# CONFIG_EL2 is not set -# CONFIG_ELPLUS is not set -# CONFIG_EL16 is not set -# CONFIG_EL3 is not set -# CONFIG_3C515 is not set -CONFIG_VORTEX=y -# CONFIG_TYPHOON is not set -# CONFIG_LANCE is not set -# CONFIG_NET_VENDOR_SMC is not set -# CONFIG_SMC91X is not set -# CONFIG_DM9000 is not set -# CONFIG_NET_VENDOR_RACAL is not set -# CONFIG_AT1700 is not set -# CONFIG_DEPCA is not set -# CONFIG_HP100 is not set -# CONFIG_NET_ISA is not set -CONFIG_NET_PCI=y -# CONFIG_PCNET32 is not set -# CONFIG_AMD8111_ETH is not set -# CONFIG_ADAPTEC_STARFIRE is not set -# CONFIG_AC3200 is not set -# CONFIG_APRICOT is not set -# CONFIG_B44 is not set -# CONFIG_FORCEDETH is not set -# CONFIG_CS89x0 is not set -# CONFIG_E100 is not set -# CONFIG_FEALNX is not set -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -# CONFIG_8139CP is not set -# CONFIG_8139TOO is not set -# CONFIG_8139TOO_PIO is not set -# CONFIG_8139TOO_TUNE_TWISTER is not set -# CONFIG_8139TOO_8129 is not set -# CONFIG_8139_OLD_RX_RESET is not set -# CONFIG_SIS900 is not set -# CONFIG_EPIC100 is not set -# CONFIG_SUNDANCE is not set -# CONFIG_SUNDANCE_MMIO is not set -# CONFIG_TLAN is not set -# CONFIG_VIA_RHINE is not set -# CONFIG_VIA_RHINE_MMIO is not set -# CONFIG_NET_POCKET is not set -# CONFIG_DL2K is not set -# CONFIG_E1000 is not set -# CONFIG_NS83820 is not set -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -# CONFIG_R8169 is not set -# CONFIG_VIA_VELOCITY is not set -# CONFIG_TIGON3 is not set -# CONFIG_BNX2 is not set -# CONFIG_BNX2X is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -# CONFIG_PLIP is not set -# CONFIG_NET_FC is not set -# CONFIG_NETPOLL_TRAP is not set - -## -## file: drivers/net/appletalk/Kconfig -## -# CONFIG_ATALK is not set - -## -## file: drivers/net/arcnet/Kconfig -## -# CONFIG_ARCNET is not set - -## -## file: drivers/net/irda/Kconfig -## -# CONFIG_IRTTY_SIR is not set -# CONFIG_USB_IRDA is not set -# CONFIG_SIGMATEL_FIR is not set -# CONFIG_NSC_FIR is not set -CONFIG_WINBOND_FIR=m -# CONFIG_TOSHIBA_FIR is not set -# CONFIG_SMC_IRCC_FIR is not set -# CONFIG_ALI_FIR is not set -# CONFIG_VLSI_FIR is not set -# CONFIG_VIA_FIR is not set - -## -## file: drivers/net/pcmcia/Kconfig -## -CONFIG_NET_PCMCIA=y -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m - -## -## file: drivers/net/phy/Kconfig -## -CONFIG_PHYLIB=m -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_LXT_PHY=m -CONFIG_CICADA_PHY=m - -## -## file: drivers/net/tokenring/Kconfig -## -# CONFIG_TR is not set - -## -## file: drivers/net/tulip/Kconfig -## -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -CONFIG_DE4X5=m -CONFIG_WINBOND_840=m -CONFIG_DM9102=m -CONFIG_ULI526X=m -CONFIG_PCMCIA_XIRCOM=m - -## -## file: drivers/net/wan/Kconfig -## -# CONFIG_WAN is not set - -## -## file: drivers/net/wireless/Kconfig -## -CONFIG_STRIP=m -CONFIG_ARLAN=m -CONFIG_WAVELAN=m -CONFIG_PCMCIA_WAVELAN=m -CONFIG_PCMCIA_NETWAVE=m -CONFIG_PCMCIA_RAYCS=m -CONFIG_AIRO=m -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m -CONFIG_PCMCIA_ATMEL=m -CONFIG_AIRO_CS=m -CONFIG_PCMCIA_WL3501=m -# CONFIG_USB_ZD1201 is not set - -## -## file: drivers/net/wireless/orinoco/Kconfig -## -CONFIG_HERMES=m -CONFIG_PLX_HERMES=m -CONFIG_TMD_HERMES=m -CONFIG_PCI_HERMES=m -CONFIG_PCMCIA_HERMES=m - -## -## file: drivers/pci/Kconfig -## -# CONFIG_PCI_DEBUG is not set - -## -## file: drivers/pcmcia/Kconfig -## -# CONFIG_PCCARD is not set -# CONFIG_PCMCIA_DEBUG is not set -CONFIG_PCMCIA=m -CONFIG_CARDBUS=y -CONFIG_YENTA=m -CONFIG_PD6729=m -CONFIG_I82092=m -CONFIG_I82365=m -CONFIG_TCIC=m - -## -## file: drivers/pnp/Kconfig -## -CONFIG_PNP=y - -## -## file: drivers/pnp/isapnp/Kconfig -## -CONFIG_ISAPNP=y - -## -## file: drivers/scsi/Kconfig -## -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=m -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_MULTI_LUN=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_7000FASST=m -# CONFIG_SCSI_ACARD is not set -CONFIG_SCSI_AHA152X=m -CONFIG_SCSI_AHA1542=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX_OLD=m -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_IN2000 is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_DTC3280 is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_EATA_PIO is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_GENERIC_NCR5380 is not set -# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_PPA is not set -# CONFIG_SCSI_IMM is not set -# CONFIG_SCSI_NCR53C406A is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_PAS16 is not set -# CONFIG_SCSI_QLOGIC_FAS is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -# CONFIG_SCSI_LPFC is not set -# CONFIG_SCSI_SYM53C416 is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_T128 is not set -# CONFIG_SCSI_U14_34F is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic79xx -## -CONFIG_SCSI_AIC79XX=m -CONFIG_AIC79XX_CMDS_PER_DEVICE=32 -CONFIG_AIC79XX_RESET_DELAY_MS=15000 -CONFIG_AIC79XX_DEBUG_ENABLE=y -CONFIG_AIC79XX_DEBUG_MASK=0 -CONFIG_AIC79XX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -CONFIG_SCSI_AIC7XXX=m -CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 -CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -CONFIG_AIC7XXX_DEBUG_ENABLE=y -CONFIG_AIC7XXX_DEBUG_MASK=0 -CONFIG_AIC7XXX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_MM is not set -# CONFIG_MEGARAID_LEGACY is not set -CONFIG_MEGARAID_SAS=m - -## -## file: drivers/scsi/pcmcia/Kconfig -## -# CONFIG_PCMCIA_AHA152X is not set -# CONFIG_PCMCIA_FDOMAIN is not set -# CONFIG_PCMCIA_NINJA_SCSI is not set -# CONFIG_PCMCIA_QLOGIC is not set -# CONFIG_PCMCIA_SYM53C500 is not set - -## -## file: drivers/serial/Kconfig -## -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=32 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -# CONFIG_SERIAL_8250_EXTENDED is not set -CONFIG_SERIAL_21285=y -CONFIG_SERIAL_21285_CONSOLE=y -# CONFIG_SERIAL_JSM is not set - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=m -# CONFIG_USB_USS720 is not set - -## -## file: drivers/usb/atm/Kconfig -## -# CONFIG_USB_ATM is not set -CONFIG_USB_SPEEDTOUCH=m - -## -## file: drivers/usb/class/Kconfig -## -# CONFIG_USB_ACM is not set -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -CONFIG_USB_DEBUG=y -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -CONFIG_USB_ISP116X_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=m -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_SL811_CS is not set - -## -## file: drivers/usb/image/Kconfig -## -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -## -## file: drivers/usb/misc/Kconfig -## -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set -CONFIG_USB_LD=m -# CONFIG_USB_TEST is not set - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/mon/Kconfig -## -CONFIG_USB_MON=y - -## -## file: drivers/usb/serial/Kconfig -## -# CONFIG_USB_SERIAL is not set - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y - -## -## file: drivers/video/Kconfig -## -CONFIG_FB=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -# CONFIG_FB_PM2_FIFO_DISCONNECT is not set -CONFIG_FB_CYBER2000=y -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_S1D13XXX is not set -CONFIG_FB_NVIDIA=m -# CONFIG_FB_NVIDIA_I2C is not set -CONFIG_FB_RIVA=m -# CONFIG_FB_RIVA_I2C is not set -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -# CONFIG_FB_MATROX_I2C is not set -# CONFIG_FB_MATROX_MULTIHEAD is not set -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -# CONFIG_FB_ATY_GENERIC_LCD is not set -CONFIG_FB_ATY_GX=y -# CONFIG_FB_SAVAGE is not set -# CONFIG_FB_SAVAGE_I2C is not set -# CONFIG_FB_SAVAGE_ACCEL is not set -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_NEOMAGIC=m -# CONFIG_FB_KYRO is not set -# CONFIG_FB_3DFX is not set -# CONFIG_FB_3DFX_ACCEL is not set -CONFIG_FB_VOODOO1=m -# CONFIG_FB_TRIDENT is not set -# CONFIG_FB_PM3 is not set -# CONFIG_FB_VIRTUAL is not set - -## -## file: drivers/video/console/Kconfig -## -CONFIG_VGA_CONSOLE=y -# CONFIG_MDA_CONSOLE is not set -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -## -## file: drivers/video/logo/Kconfig -## -# CONFIG_LOGO is not set -CONFIG_LOGO_LINUX_MONO=y -CONFIG_LOGO_LINUX_VGA16=y -CONFIG_LOGO_LINUX_CLUT224=y - -## -## file: drivers/w1/Kconfig -## -# CONFIG_W1 is not set - -## -## file: drivers/watchdog/Kconfig -## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_SOFT_WATCHDOG=y -CONFIG_21285_WATCHDOG=m -CONFIG_977_WATCHDOG=m -# CONFIG_PCWATCHDOG is not set -# CONFIG_MIXCOMWD is not set -# CONFIG_WDT is not set -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set -# CONFIG_USBPCWATCHDOG is not set - -## -## file: fs/adfs/Kconfig -## -# CONFIG_ADFS_FS_RW is not set - -## -## file: fs/affs/Kconfig -## -# CONFIG_AFFS_FS is not set - -## -## file: fs/afs/Kconfig -## -# CONFIG_AFS_FS is not set - -## -## file: fs/befs/Kconfig -## -# CONFIG_BEFS_FS is not set - -## -## file: fs/bfs/Kconfig -## -# CONFIG_BFS_FS is not set - -## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_AOUT=y -CONFIG_BINFMT_MISC=m - -## -## file: fs/coda/Kconfig -## -# CONFIG_CODA_FS is not set - -## -## file: fs/cramfs/Kconfig -## -CONFIG_CRAMFS=y - -## -## file: fs/efs/Kconfig -## -# CONFIG_EFS_FS is not set - -## -## file: fs/ext2/Kconfig -## -CONFIG_EXT2_FS=y - -## -## file: fs/ext3/Kconfig -## -CONFIG_EXT3_FS=y - -## -## file: fs/freevxfs/Kconfig -## -# CONFIG_VXFS_FS is not set - -## -## file: fs/hfs/Kconfig -## -# CONFIG_HFS_FS is not set - -## -## file: fs/hfsplus/Kconfig -## -# CONFIG_HFSPLUS_FS is not set - -## -## file: fs/hpfs/Kconfig -## -# CONFIG_HPFS_FS is not set - -## -## file: fs/jffs2/Kconfig -## -CONFIG_JFFS2_FS=m -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set - -## -## file: fs/ncpfs/Kconfig -## -# CONFIG_NCP_FS is not set -# CONFIG_NCPFS_PACKET_SIGNING is not set -# CONFIG_NCPFS_IOCTL_LOCKING is not set -# CONFIG_NCPFS_STRONG is not set -# CONFIG_NCPFS_NFS_NS is not set -# CONFIG_NCPFS_OS2_NS is not set -# CONFIG_NCPFS_SMALLDOS is not set -# CONFIG_NCPFS_NLS is not set -# CONFIG_NCPFS_EXTRAS is not set - -## -## file: fs/nfs/Kconfig -## -CONFIG_NFS_FS=m -CONFIG_ROOT_NFS=y - -## -## file: fs/partitions/Kconfig -## -CONFIG_PARTITION_ADVANCED=y -CONFIG_ACORN_PARTITION=y -# CONFIG_ACORN_PARTITION_CUMANA is not set -# CONFIG_ACORN_PARTITION_EESOX is not set -# CONFIG_ACORN_PARTITION_ICS is not set -CONFIG_ACORN_PARTITION_ADFS=y -# CONFIG_ACORN_PARTITION_POWERTEC is not set -# CONFIG_ACORN_PARTITION_RISCIX is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_EFI_PARTITION is not set - -## -## file: fs/qnx4/Kconfig -## -# CONFIG_QNX4FS_FS is not set - -## -## file: fs/sysv/Kconfig -## -# CONFIG_SYSV_FS is not set - -## -## file: fs/ufs/Kconfig -## -# CONFIG_UFS_FS is not set -# CONFIG_UFS_FS_WRITE is not set - -## -## file: init/Kconfig -## -CONFIG_LOG_BUF_SHIFT=14 - -## -## file: kernel/power/Kconfig -## -# CONFIG_PM is not set - -## -## file: lib/Kconfig.debug -## -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_RCU_TORTURE_TEST is not set - -## -## file: mm/Kconfig -## -## choice: Memory model -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -## end choice - -## -## file: net/atm/Kconfig -## -CONFIG_ATM=y -# CONFIG_ATM_CLIP is not set -# CONFIG_ATM_CLIP_NO_ICMP is not set -# CONFIG_ATM_LANE is not set -CONFIG_ATM_MPOA=m -# CONFIG_ATM_BR2684 is not set -# CONFIG_ATM_BR2684_IPFILTER is not set - -## -## file: net/ax25/Kconfig -## -# CONFIG_HAMRADIO is not set - -## -## file: net/bluetooth/Kconfig -## -#. TODO -# CONFIG_BT is not set - -## -## file: net/decnet/Kconfig -## -# CONFIG_DECNET is not set -# CONFIG_DECNET_ROUTER is not set - -## -## file: net/econet/Kconfig -## -# CONFIG_ECONET is not set - -## -## file: net/ipv4/Kconfig -## -CONFIG_IP_PNP=y -# CONFIG_IP_PNP_DHCP is not set -CONFIG_IP_PNP_BOOTP=y - -## -## file: net/ipx/Kconfig -## -# CONFIG_IPX is not set -# CONFIG_IPX_INTERN is not set - -## -## file: net/irda/Kconfig -## -CONFIG_IRDA=m -CONFIG_IRDA_ULTRA=y -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -# CONFIG_IRDA_DEBUG is not set - -## -## file: net/irda/ircomm/Kconfig -## -CONFIG_IRCOMM=m - -## -## file: net/irda/irlan/Kconfig -## -CONFIG_IRLAN=m - -## -## file: net/irda/irnet/Kconfig -## -CONFIG_IRNET=m - -## -## file: net/lapb/Kconfig -## -# CONFIG_LAPB is not set - -## -## file: net/llc/Kconfig -## -# CONFIG_LLC2 is not set - -## -## file: net/sunrpc/Kconfig -## -CONFIG_RPCSEC_GSS_KRB5=m - -## -## file: net/wanrouter/Kconfig -## -# CONFIG_WAN_ROUTER is not set - -## -## file: net/x25/Kconfig -## -# CONFIG_X25 is not set - -## -## file: security/Kconfig -## -#. disabled because of size restrictions -# CONFIG_KEYS is not set -#. disabled because of size restrictions -# CONFIG_SECURITY is not set -CONFIG_SECURITY_FILE_CAPABILITIES=y - -## -## file: sound/Kconfig -## -CONFIG_SOUND_PRIME=m - -## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -# CONFIG_SND_SEQ_DUMMY is not set -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -# CONFIG_SND_SEQUENCER_OSS is not set -CONFIG_SND_RTCTIMER=m -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## -## file: sound/drivers/Kconfig -## -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_VIRMIDI is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -## -## file: sound/isa/Kconfig -## -# CONFIG_SND_ADLIB is not set -# CONFIG_SND_AD1816A is not set -# CONFIG_SND_AD1848 is not set -# CONFIG_SND_ALS100 is not set -# CONFIG_SND_AZT2320 is not set -# CONFIG_SND_CMI8330 is not set -# CONFIG_SND_CS4231 is not set -# CONFIG_SND_CS4236 is not set -# CONFIG_SND_DT019X is not set -# CONFIG_SND_ES968 is not set -# CONFIG_SND_ES1688 is not set -# CONFIG_SND_ES18XX is not set -# CONFIG_SND_GUSCLASSIC is not set -# CONFIG_SND_GUSEXTREME is not set -# CONFIG_SND_GUSMAX is not set -# CONFIG_SND_INTERWAVE is not set -# CONFIG_SND_INTERWAVE_STB is not set -CONFIG_SND_OPL3SA2=m -# CONFIG_SND_OPTI92X_AD1848 is not set -# CONFIG_SND_OPTI92X_CS4231 is not set -# CONFIG_SND_OPTI93X is not set -# CONFIG_SND_MIRO is not set -# CONFIG_SND_SB8 is not set -# CONFIG_SND_SB16 is not set -# CONFIG_SND_SBAWE is not set -# CONFIG_SND_SGALAXY is not set -# CONFIG_SND_SSCAPE is not set -# CONFIG_SND_WAVEFRONT is not set - -## -## file: sound/oss/Kconfig -## -# CONFIG_SOUND_MSNDCLAS is not set -# CONFIG_SOUND_MSNDPIN is not set -CONFIG_SOUND_OSS=m -# CONFIG_SOUND_TRACEINIT is not set -# CONFIG_SOUND_DMAP is not set -# CONFIG_SOUND_SSCAPE is not set -# CONFIG_SOUND_VMIDI is not set -# CONFIG_SOUND_TRIX is not set -# CONFIG_SOUND_MSS is not set -# CONFIG_SOUND_MPU401 is not set -# CONFIG_SOUND_PAS is not set -# CONFIG_SOUND_PSS is not set -# CONFIG_SOUND_SB is not set -CONFIG_SOUND_YM3812=m -# CONFIG_SOUND_UART6850 is not set -# CONFIG_SOUND_AEDSP16 is not set -CONFIG_SOUND_WAVEARTIST=m - -## -## file: sound/pci/Kconfig -## -# CONFIG_SND_AD1889 is not set -# CONFIG_SND_ALS4000 is not set -# CONFIG_SND_ALI5451 is not set -# CONFIG_SND_ATIIXP is not set -# CONFIG_SND_ATIIXP_MODEM is not set -# CONFIG_SND_AU8810 is not set -# CONFIG_SND_AU8820 is not set -# CONFIG_SND_AU8830 is not set -# CONFIG_SND_AZT3328 is not set -# CONFIG_SND_BT87X is not set -# CONFIG_SND_CA0106 is not set -# CONFIG_SND_CMIPCI is not set -# CONFIG_SND_CS4281 is not set -# CONFIG_SND_CS46XX is not set -# CONFIG_SND_EMU10K1 is not set -# CONFIG_SND_EMU10K1X is not set -# CONFIG_SND_ENS1370 is not set -# CONFIG_SND_ENS1371 is not set -# CONFIG_SND_ES1938 is not set -# CONFIG_SND_ES1968 is not set -# CONFIG_SND_FM801 is not set -# CONFIG_SND_HDSP is not set -# CONFIG_SND_HDSPM is not set -# CONFIG_SND_ICE1712 is not set -# CONFIG_SND_ICE1724 is not set -# CONFIG_SND_INTEL8X0 is not set -# CONFIG_SND_INTEL8X0M is not set -# CONFIG_SND_KORG1212 is not set -# CONFIG_SND_MAESTRO3 is not set -# CONFIG_SND_MIXART is not set -# CONFIG_SND_NM256 is not set -# CONFIG_SND_PCXHR is not set -# CONFIG_SND_RME32 is not set -# CONFIG_SND_RME96 is not set -# CONFIG_SND_RME9652 is not set -# CONFIG_SND_SONICVIBES is not set -# CONFIG_SND_TRIDENT is not set -# CONFIG_SND_VIA82XX is not set -# CONFIG_SND_VIA82XX_MODEM is not set -# CONFIG_SND_VX222 is not set -# CONFIG_SND_YMFPCI is not set - -## -## file: sound/pci/hda/Kconfig -## -# CONFIG_SND_HDA_INTEL is not set - -## -## file: unknown -## -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_NO_IDLE_HZ is not set - diff --git a/config/arm/defines b/config/arm/defines deleted file mode 100644 index bbf10ed..0000000 --- a/config/arm/defines +++ /dev/null @@ -1,58 +0,0 @@ -[base] -flavours: - footbridge - iop32x - ixp4xx - orion5x -kernel-arch: arm - -[image] -suggests: fdutils - -[footbridge_image] -suggests: nwutil - -[footbridge_base] -class: Footbridge -longclass: Footbridge based (CATS, Netwinder) - -[iop32x_base] -class: IOP32x -longclass: IOP32x based (Thecus N2100, etc) - -[iop32x_build] -image-file: arch/arm/boot/zImage - -[iop32x_image] -# Thecus N2100: 1441792 - 8 = 1441784 -check-size: 1441784 - -[ixp4xx_base] -class: IXP4xx -longclass: IXP4xx based (Linksys NSLU2, etc) - -[ixp4xx_build] -image-file: arch/arm/boot/zImage - -[ixp4xx_image] -# Linksys NSLU2: 1441792 - 16 - 16 = 1441760 -check-size: 1441760 - -[orion5x_base] -class: Orion -longclass: Orion 5181, 5182 and 5281 based (QNAP TS-109/TS-209, etc) - -[orion5x_build] -image-file: arch/arm/boot/zImage - -[orion5x_image] -recommends: uboot-mkimage -# D-Link DNS-323: 1572864 - 8 - 64 = 1572792 -# HP Media Vault mv2120: ca 2 MB -# QNAP TS-109/TS-209 & TS-409: 2097152 - 8 - 64 = 2097080 -check-size: 1572792 - -[versatile_base] -class: Versatile -longclass: Versatile (PB, AB, Qemu) - diff --git a/config/armel/config b/config/armel/config index ad1a411..04f5d7c 100644 --- a/config/armel/config +++ b/config/armel/config @@ -8,11 +8,27 @@ CONFIG_AEABI=y CONFIG_OABI_COMPAT=y ## +## file: arch/arm/Kconfig.debug +## +CONFIG_DEBUG_LL=y +CONFIG_EARLY_PRINTK=y + +## ## file: drivers/ieee1394/Kconfig ## # CONFIG_IEEE1394 is not set ## +## file: drivers/net/hamradio/Kconfig +## +CONFIG_BPQETHER=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_EPP=m +CONFIG_YAM=m + +## ## file: drivers/net/wireless/ipw2x00/Kconfig ## # CONFIG_IPW2100 is not set @@ -57,6 +73,15 @@ CONFIG_OABI_COMPAT=y # CONFIG_SCSI_QLA_ISCSI is not set ## +## file: init/Kconfig +## +## choice: Kernel compression mode +# CONFIG_KERNEL_GZIP is not set +# CONFIG_KERNEL_BZIP2 is not set +CONFIG_KERNEL_LZMA=y +## end choice + +## ## file: net/econet/Kconfig ## CONFIG_ECONET_AUNUDP=y diff --git a/config/arm/config.iop32x b/config/armel/config.iop32x index 709ce63..8c75f7d 100644 --- a/config/arm/config.iop32x +++ b/config/armel/config.iop32x @@ -13,7 +13,6 @@ # CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set CONFIG_ARCH_IOP32X=y # CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP23XX is not set @@ -30,7 +29,6 @@ CONFIG_ARCH_IOP32X=y # CONFIG_ARCH_OMAP is not set ## end choice CONFIG_PCI=y -# CONFIG_PREEMPT is not set CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_CMDLINE="" @@ -43,13 +41,6 @@ CONFIG_FPE_NWFPE=y # CONFIG_ARTHUR is not set ## -## file: arch/arm/Kconfig.debug -## -#. disabled because of size restrictions -# CONFIG_ARM_UNWIND is not set -# CONFIG_DEBUG_USER is not set - -## ## file: arch/arm/mach-iop32x/Kconfig ## CONFIG_MACH_GLANTANK=y @@ -93,9 +84,6 @@ CONFIG_SATA_VITESSE=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=8192 # CONFIG_CDROM_PKTCDVD is not set ## @@ -149,6 +137,7 @@ CONFIG_INTEL_IOP_ADMA=y ## file: drivers/hwmon/Kconfig ## CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set @@ -159,8 +148,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_F71805F is not set CONFIG_SENSORS_F75375S=y -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_IT87 is not set @@ -186,7 +173,6 @@ CONFIG_SENSORS_F75375S=y # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set ## ## file: drivers/i2c/Kconfig @@ -221,13 +207,6 @@ CONFIG_I2C_IOP3XX=y # CONFIG_I2C_STUB is not set ## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_MAX6875 is not set - -## ## file: drivers/ide/Kconfig ## CONFIG_IDE=m @@ -276,10 +255,10 @@ CONFIG_INPUT_JOYSTICK=y ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=m -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -333,27 +312,8 @@ CONFIG_LEDS_PCA9532=y # CONFIG_LEDS_TRIGGER_IDE_DISK is not set ## -## file: drivers/md/Kconfig -## -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m - -## ## file: drivers/media/Kconfig ## -CONFIG_VIDEO_DEV=m CONFIG_DVB_CORE=m ## @@ -398,8 +358,8 @@ CONFIG_MTD_CMDLINE_PARTS=y # CONFIG_MTD_AFS_PARTS is not set CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set +CONFIG_FTL=m +CONFIG_NFTL=m # CONFIG_INFTL is not set # CONFIG_RFD_FTL is not set @@ -427,8 +387,8 @@ CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I8 is not set # CONFIG_MTD_OTP is not set CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_AMDSTD=y -# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m CONFIG_MTD_RAM=m # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set @@ -474,12 +434,6 @@ CONFIG_MTD_NAND=m ## ## file: drivers/net/Kconfig ## -CONFIG_NETDEVICES=y -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set @@ -550,13 +504,6 @@ CONFIG_PCI_HERMES=m ## ## file: drivers/rtc/Kconfig ## -CONFIG_RTC_CLASS=y -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_DRV_TEST is not set # CONFIG_RTC_DRV_DS1672 is not set CONFIG_RTC_DRV_RS5C372=y # CONFIG_RTC_DRV_X1205 is not set @@ -566,22 +513,8 @@ CONFIG_RTC_DRV_RS5C372=y ## ## file: drivers/scsi/Kconfig ## -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=m -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_MULTI_LUN=y # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m # CONFIG_SCSI_ACARD is not set ## @@ -612,19 +545,6 @@ CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -635,16 +555,6 @@ CONFIG_USB_UHCI_HCD=m CONFIG_USB_SL811_HCD=m ## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m - -## ## file: drivers/video/Kconfig ## # CONFIG_FB is not set @@ -662,9 +572,6 @@ CONFIG_USB_STORAGE=m ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_SOFT_WATCHDOG is not set # CONFIG_PCIPCWATCHDOG is not set # CONFIG_WDTPCI is not set # CONFIG_USBPCWATCHDOG is not set @@ -672,9 +579,7 @@ CONFIG_WATCHDOG=y ## ## file: fs/Kconfig.binfmt ## -CONFIG_BINFMT_ELF=y CONFIG_BINFMT_AOUT=m -CONFIG_BINFMT_MISC=m ## ## file: fs/partitions/Kconfig @@ -712,20 +617,11 @@ CONFIG_LOG_BUF_SHIFT=14 # CONFIG_PM is not set ## -## file: kernel/trace/Kconfig -## -#. disabled because of size restrictions -# CONFIG_CONTEXT_SWITCH_TRACER is not set -#. disabled because of size restrictions -# CONFIG_BOOT_TRACER is not set -#. disabled because of size restrictions -# CONFIG_BLK_DEV_IO_TRACE is not set - +## file: kernel/Kconfig.preempt ## -## file: lib/Kconfig.debug -## -#. disabled because of size restrictions -# CONFIG_DEBUG_KERNEL is not set +## choice: Preemption Model +# CONFIG_PREEMPT is not set +## end choice ## ## file: mm/Kconfig @@ -809,27 +705,6 @@ CONFIG_WIRELESS_EXT=y # CONFIG_X25 is not set ## -## file: security/selinux/Kconfig -## -#. disabled because of size restrictions -# CONFIG_SECURITY_SELINUX is not set - -## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -# CONFIG_SND_SEQUENCER_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## ## file: sound/drivers/Kconfig ## CONFIG_SND_DUMMY=m @@ -889,10 +764,3 @@ CONFIG_SND_RIPTIDE=m ## # CONFIG_SND_HDA_INTEL is not set -## -## file: unknown -## -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_NO_IDLE_HZ is not set - diff --git a/config/arm/config.ixp4xx b/config/armel/config.ixp4xx index 6464ec7..c18a2a9 100644 --- a/config/arm/config.ixp4xx +++ b/config/armel/config.ixp4xx @@ -13,7 +13,6 @@ # CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP23XX is not set @@ -30,7 +29,6 @@ CONFIG_ARCH_IXP4XX=y # CONFIG_ARCH_OMAP is not set ## end choice CONFIG_PCI=y -# CONFIG_PREEMPT is not set CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_CMDLINE="console=ttyS0,115200" @@ -43,13 +41,6 @@ CONFIG_FPE_NWFPE=y # CONFIG_ARTHUR is not set ## -## file: arch/arm/Kconfig.debug -## -#. disabled because of size restrictions -# CONFIG_ARM_UNWIND is not set -# CONFIG_DEBUG_USER is not set - -## ## file: arch/arm/mach-ixp4xx/Kconfig ## CONFIG_MACH_NSLU2=y @@ -144,9 +135,6 @@ CONFIG_SATA_VIA=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=8192 # CONFIG_CDROM_PKTCDVD is not set ## @@ -193,6 +181,7 @@ CONFIG_TELCLOCK=m ## file: drivers/hwmon/Kconfig ## CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m @@ -202,8 +191,6 @@ CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_DS1621=m # CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_IT87 is not set @@ -229,7 +216,6 @@ CONFIG_SENSORS_VT8231=m # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set CONFIG_SENSORS_W83627EHF=m -# CONFIG_HWMON_DEBUG_CHIP is not set ## ## file: drivers/i2c/Kconfig @@ -266,13 +252,6 @@ CONFIG_I2C_GPIO=y # CONFIG_SCx200_ACB is not set ## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m -CONFIG_SENSORS_PCA9539=m -CONFIG_SENSORS_MAX6875=m - -## ## file: drivers/ide/Kconfig ## # CONFIG_IDE is not set @@ -292,10 +271,10 @@ CONFIG_INPUT_JOYSTICK=y ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=m -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -390,8 +369,8 @@ CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 # CONFIG_MTD_AFS_PARTS is not set CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set +CONFIG_FTL=m +CONFIG_NFTL=m # CONFIG_INFTL is not set CONFIG_RFD_FTL=m @@ -419,8 +398,8 @@ CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I8 is not set # CONFIG_MTD_OTP is not set CONFIG_MTD_CFI_INTELEXT=y -# CONFIG_MTD_CFI_AMDSTD is not set -# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m CONFIG_MTD_RAM=m # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set @@ -464,12 +443,6 @@ CONFIG_MTD_NAND=m ## ## file: drivers/net/Kconfig ## -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y # CONFIG_AX88796 is not set # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set @@ -538,9 +511,9 @@ CONFIG_ATMEL=m ## ## file: drivers/net/wireless/hostap/Kconfig ## -CONFIG_HOSTAP=m +#. TODO # CONFIG_HOSTAP_FIRMWARE is not set -CONFIG_HOSTAP_PLX=m +#. TODO # CONFIG_HOSTAP_PCI is not set ## @@ -569,13 +542,6 @@ CONFIG_PCI_HERMES=m ## ## file: drivers/rtc/Kconfig ## -CONFIG_RTC_CLASS=y -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_DRV_TEST is not set # CONFIG_RTC_DRV_DS1672 is not set # CONFIG_RTC_DRV_RS5C372 is not set CONFIG_RTC_DRV_ISL1208=y @@ -586,22 +552,8 @@ CONFIG_RTC_DRV_PCF8563=y ## ## file: drivers/scsi/Kconfig ## -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=m -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_MULTI_LUN=y # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m # CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_AACRAID is not set @@ -616,7 +568,6 @@ CONFIG_SCSI_SAS_ATTRS=m # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_PPA is not set # CONFIG_SCSI_IMM is not set -# CONFIG_SCSI_MVSAS is not set # CONFIG_SCSI_STEX is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_QLOGIC_1280 is not set @@ -624,7 +575,6 @@ CONFIG_SCSI_SAS_ATTRS=m # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_SRP is not set ## @@ -650,6 +600,11 @@ CONFIG_SCSI_SAS_ATTRS=m # CONFIG_MEGARAID_SAS is not set ## +## file: drivers/scsi/mvsas/Kconfig +## +# CONFIG_SCSI_MVSAS is not set + +## ## file: drivers/scsi/qla2xxx/Kconfig ## # CONFIG_SCSI_QLA_FC is not set @@ -687,19 +642,6 @@ CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -710,19 +652,6 @@ CONFIG_USB_UHCI_HCD=m CONFIG_USB_SL811_HCD=m ## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y -CONFIG_USB_STORAGE_ALAUDA=y - -## ## file: drivers/video/Kconfig ## # CONFIG_FB is not set @@ -736,9 +665,6 @@ CONFIG_USB_STORAGE_ALAUDA=y ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_SOFT_WATCHDOG is not set CONFIG_IXP4XX_WATCHDOG=m # CONFIG_PCIPCWATCHDOG is not set # CONFIG_WDTPCI is not set @@ -747,9 +673,7 @@ CONFIG_IXP4XX_WATCHDOG=m ## ## file: fs/Kconfig.binfmt ## -CONFIG_BINFMT_ELF=y CONFIG_BINFMT_AOUT=m -CONFIG_BINFMT_MISC=m ## ## file: fs/partitions/Kconfig @@ -787,20 +711,11 @@ CONFIG_LOG_BUF_SHIFT=14 # CONFIG_PM is not set ## -## file: kernel/trace/Kconfig -## -#. disabled because of size restrictions -# CONFIG_CONTEXT_SWITCH_TRACER is not set -#. disabled because of size restrictions -# CONFIG_BOOT_TRACER is not set -#. disabled because of size restrictions -# CONFIG_BLK_DEV_IO_TRACE is not set - +## file: kernel/Kconfig.preempt ## -## file: lib/Kconfig.debug -## -#. disabled because of size restrictions -# CONFIG_DEBUG_KERNEL is not set +## choice: Preemption Model +# CONFIG_PREEMPT is not set +## end choice ## ## file: mm/Kconfig @@ -879,25 +794,6 @@ CONFIG_WAN_ROUTER=m CONFIG_X25=m ## -## file: security/selinux/Kconfig -## -#. disabled because of size restrictions -# CONFIG_SECURITY_SELINUX is not set - -## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -# CONFIG_SND_SEQUENCER_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## ## file: sound/drivers/Kconfig ## CONFIG_SND_DUMMY=m @@ -955,10 +851,3 @@ CONFIG_SND_PCXHR=m ## # CONFIG_SND_HDA_INTEL is not set -## -## file: unknown -## -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_NO_IDLE_HZ is not set - diff --git a/config/armel/config.kirkwood b/config/armel/config.kirkwood index bb56e3d..2bc0ed8 100644 --- a/config/armel/config.kirkwood +++ b/config/armel/config.kirkwood @@ -11,9 +11,9 @@ # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_MXC is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set # CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set @@ -22,10 +22,9 @@ # CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_L7200 is not set CONFIG_ARCH_KIRKWOOD=y +# CONFIG_ARCH_ORION5X is not set # CONFIG_ARCH_KS8695 is not set # CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_MXC is not set -# CONFIG_ARCH_ORION5X is not set # CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set @@ -60,6 +59,10 @@ CONFIG_MACH_RD88F6192_NAS=y CONFIG_MACH_RD88F6281=y CONFIG_MACH_SHEEVAPLUG=y CONFIG_MACH_TS219=y +CONFIG_MACH_TS41X=y +CONFIG_MACH_OPENRD=y +CONFIG_MACH_OPENRD_BASE=y +CONFIG_MACH_OPENRD_CLIENT=y ## ## file: arch/arm/mm/Kconfig @@ -73,7 +76,7 @@ CONFIG_ARM_THUMB=y ## file: drivers/ata/Kconfig ## CONFIG_ATA=m -# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI=m # CONFIG_SATA_SIL24 is not set CONFIG_ATA_SFF=y # CONFIG_SATA_SVW is not set @@ -146,6 +149,11 @@ CONFIG_BT_HCIVHCI=m CONFIG_CPU_IDLE=y ## +## file: drivers/crypto/Kconfig +## +CONFIG_CRYPTO_DEV_MV_CESA=m + +## ## file: drivers/dma/Kconfig ## CONFIG_DMADEVICES=y @@ -153,6 +161,11 @@ CONFIG_MV_XOR=y # CONFIG_NET_DMA is not set ## +## file: drivers/gpio/Kconfig +## +CONFIG_GPIO_SYSFS=y + +## ## file: drivers/gpu/drm/Kconfig ## # CONFIG_DRM is not set @@ -189,6 +202,97 @@ CONFIG_KEYBOARD_GPIO=m CONFIG_INPUT_TOUCHSCREEN=y ## +## file: drivers/isdn/Kconfig +## +CONFIG_ISDN=y +CONFIG_ISDN_I4L=m +CONFIG_ISDN_CAPI=m + +## +## file: drivers/isdn/capi/Kconfig +## +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIFS_BOOL=y +CONFIG_ISDN_CAPI_CAPIDRV=m + +## +## file: drivers/isdn/hardware/avm/Kconfig +## +CONFIG_CAPI_AVM=y +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_C4=m + +## +## file: drivers/isdn/hardware/eicon/Kconfig +## +CONFIG_CAPI_EICON=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVAS_MAINT=m + +## +## file: drivers/isdn/hisax/Kconfig +## +CONFIG_ISDN_DRV_HISAX=m +CONFIG_HISAX_EURO=y +CONFIG_DE_AOC=y +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_KEYPAD is not set +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_MAX_CARDS=8 +CONFIG_HISAX_16_3=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NICCY=y +CONFIG_HISAX_BKM_A4T=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_W6692=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_ENTERNOW_PCI=y +# CONFIG_HISAX_DEBUG is not set +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_TELES_CS=m +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_FRITZ_PCIPNP=m + +## +## file: drivers/isdn/i4l/Kconfig +## +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_MPP=y +CONFIG_IPPP_FILTER=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_TTY_FAX=y +CONFIG_ISDN_X25=y +CONFIG_ISDN_DIVERSION=m + +## ## file: drivers/leds/Kconfig ## CONFIG_NEW_LEDS=y @@ -201,7 +305,6 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y ## ## file: drivers/media/Kconfig ## -CONFIG_VIDEO_DEV=m CONFIG_DVB_CORE=m ## @@ -230,10 +333,9 @@ CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y # CONFIG_MTD_AFS_PARTS is not set CONFIG_MTD_CHAR=y -CONFIG_MTD_BLKDEVS=y CONFIG_MTD_BLOCK=y -CONFIG_FTL=y -CONFIG_NFTL=y +CONFIG_FTL=m +CONFIG_NFTL=m # CONFIG_NFTL_RW is not set # CONFIG_INFTL is not set # CONFIG_RFD_FTL is not set @@ -264,8 +366,8 @@ CONFIG_MTD_CFI_I4=y # CONFIG_MTD_CFI_I8 is not set # CONFIG_MTD_OTP is not set CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set @@ -353,6 +455,9 @@ CONFIG_MV643XX_ETH=m ## ## file: drivers/net/phy/Kconfig ## +#. Turned off because this causes networking on some Kirkwood machines to fail +# CONFIG_MARVELL_PHY is not set +#. Turned off to avoid namespace collisions # CONFIG_FIXED_PHY is not set ## @@ -362,12 +467,6 @@ CONFIG_WLAN_PRE80211=y CONFIG_WLAN_80211=y ## -## file: drivers/pci/Kconfig -## -CONFIG_PCI_LEGACY=y -# CONFIG_PCI_DEBUG is not set - -## ## file: drivers/pcmcia/Kconfig ## # CONFIG_PCCARD is not set @@ -375,7 +474,6 @@ CONFIG_PCI_LEGACY=y ## ## file: drivers/rtc/Kconfig ## -CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_S35390A=y CONFIG_RTC_DRV_MV=y @@ -396,7 +494,6 @@ CONFIG_RTC_DRV_MV=y # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_PPA is not set # CONFIG_SCSI_IMM is not set -# CONFIG_SCSI_MVSAS is not set # CONFIG_SCSI_STEX is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_IPR is not set @@ -405,7 +502,6 @@ CONFIG_RTC_DRV_MV=y # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set ## ## file: drivers/scsi/aic7xxx/Kconfig.aic79xx @@ -430,6 +526,11 @@ CONFIG_RTC_DRV_MV=y # CONFIG_MEGARAID_SAS is not set ## +## file: drivers/scsi/mvsas/Kconfig +## +# CONFIG_SCSI_MVSAS is not set + +## ## file: drivers/scsi/qla2xxx/Kconfig ## # CONFIG_SCSI_QLA_FC is not set @@ -472,18 +573,6 @@ CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DEVICE_CLASS=y - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -495,33 +584,9 @@ CONFIG_USB_UHCI_HCD=m CONFIG_USB_SL811_HCD=m ## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y - -## ## file: drivers/video/Kconfig ## -# CONFIG_VIDEO_OUTPUT_CONTROL is not set -# CONFIG_FB is not set - -## -## file: drivers/video/backlight/Kconfig -## -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +CONFIG_FB=m ## ## file: drivers/video/console/Kconfig @@ -529,22 +594,14 @@ CONFIG_USB_STORAGE_JUMPSHOT=y # CONFIG_VGA_CONSOLE is not set ## -## file: drivers/video/display/Kconfig -## -# CONFIG_DISPLAY_SUPPORT is not set - -## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -CONFIG_ORION5X_WATCHDOG=m +CONFIG_ORION_WATCHDOG=m ## ## file: fs/Kconfig.binfmt ## -CONFIG_BINFMT_ELF=y CONFIG_BINFMT_AOUT=m -CONFIG_BINFMT_MISC=m ## ## file: fs/jffs2/Kconfig @@ -584,12 +641,8 @@ CONFIG_UBIFS_FS=y ## ## file: kernel/power/Kconfig ## -# CONFIG_PM is not set - -## -## file: kernel/time/Kconfig -## -CONFIG_HIGH_RES_TIMERS=y +CONFIG_PM=y +# CONFIG_SUSPEND is not set ## ## file: mm/Kconfig @@ -624,5 +677,3 @@ CONFIG_WAN_ROUTER=m ## CONFIG_X25=m -CONFIG_GPIO_SYSFS=y - diff --git a/config/arm/config.orion5x b/config/armel/config.orion5x index 3001e03..fcc7ec0 100644 --- a/config/arm/config.orion5x +++ b/config/armel/config.orion5x @@ -11,9 +11,9 @@ # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_MXC is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set # CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set @@ -21,10 +21,9 @@ # CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_L7200 is not set +CONFIG_ARCH_ORION5X=y # CONFIG_ARCH_KS8695 is not set # CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_MXC is not set -CONFIG_ARCH_ORION5X=y # CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set @@ -54,8 +53,6 @@ CONFIG_VFP=y ## ## file: arch/arm/mach-orion5x/Kconfig ## -CONFIG_MACH_DB88F5281=y -CONFIG_MACH_RD88F5182=y CONFIG_MACH_KUROBOX_PRO=y CONFIG_MACH_DNS323=y CONFIG_MACH_TS209=y @@ -144,6 +141,11 @@ CONFIG_BT_HCIBFUSB=m CONFIG_BT_HCIVHCI=m ## +## file: drivers/crypto/Kconfig +## +CONFIG_CRYPTO_DEV_MV_CESA=m + +## ## file: drivers/dma/Kconfig ## CONFIG_DMADEVICES=y @@ -151,6 +153,11 @@ CONFIG_MV_XOR=y # CONFIG_NET_DMA is not set ## +## file: drivers/gpio/Kconfig +## +CONFIG_GPIO_SYSFS=y + +## ## file: drivers/gpu/drm/Kconfig ## # CONFIG_DRM is not set @@ -193,6 +200,97 @@ CONFIG_KEYBOARD_GPIO=m CONFIG_INPUT_TOUCHSCREEN=y ## +## file: drivers/isdn/Kconfig +## +CONFIG_ISDN=y +CONFIG_ISDN_I4L=m +CONFIG_ISDN_CAPI=m + +## +## file: drivers/isdn/capi/Kconfig +## +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIFS_BOOL=y +CONFIG_ISDN_CAPI_CAPIDRV=m + +## +## file: drivers/isdn/hardware/avm/Kconfig +## +CONFIG_CAPI_AVM=y +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_C4=m + +## +## file: drivers/isdn/hardware/eicon/Kconfig +## +CONFIG_CAPI_EICON=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVAS_MAINT=m + +## +## file: drivers/isdn/hisax/Kconfig +## +CONFIG_ISDN_DRV_HISAX=m +CONFIG_HISAX_EURO=y +CONFIG_DE_AOC=y +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_KEYPAD is not set +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_MAX_CARDS=8 +CONFIG_HISAX_16_3=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NICCY=y +CONFIG_HISAX_BKM_A4T=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_W6692=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_ENTERNOW_PCI=y +# CONFIG_HISAX_DEBUG is not set +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_TELES_CS=m +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_FRITZ_PCIPNP=m + +## +## file: drivers/isdn/i4l/Kconfig +## +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_MPP=y +CONFIG_IPPP_FILTER=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_TTY_FAX=y +CONFIG_ISDN_X25=y +CONFIG_ISDN_DIVERSION=m + +## ## file: drivers/leds/Kconfig ## CONFIG_NEW_LEDS=y @@ -205,7 +303,6 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y ## ## file: drivers/media/Kconfig ## -CONFIG_VIDEO_DEV=m CONFIG_DVB_CORE=m ## @@ -221,8 +318,8 @@ CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLKDEVS=y CONFIG_MTD_BLOCK=y -CONFIG_FTL=y -CONFIG_NFTL=y +CONFIG_FTL=m +CONFIG_NFTL=m # CONFIG_NFTL_RW is not set # CONFIG_INFTL is not set # CONFIG_RFD_FTL is not set @@ -252,9 +349,11 @@ CONFIG_MTD_CFI_I2=y CONFIG_MTD_CFI_I4=y # CONFIG_MTD_CFI_I8 is not set # CONFIG_MTD_OTP is not set +#. Needed e.g. on QNAP devices CONFIG_MTD_CFI_INTELEXT=y +#. Needed e.g. on the D-Link DNS-323 CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_CFI_STAA=m # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set @@ -336,6 +435,9 @@ CONFIG_MV643XX_ETH=m ## ## file: drivers/net/phy/Kconfig ## +#. Turned off because this causes networking on some Orion machines to fail +# CONFIG_MARVELL_PHY is not set +#. Turned off to avoid namespace collisions # CONFIG_FIXED_PHY is not set ## @@ -345,12 +447,6 @@ CONFIG_WLAN_PRE80211=y CONFIG_WLAN_80211=y ## -## file: drivers/pci/Kconfig -## -CONFIG_PCI_LEGACY=y -# CONFIG_PCI_DEBUG is not set - -## ## file: drivers/pcmcia/Kconfig ## # CONFIG_PCCARD is not set @@ -358,7 +454,6 @@ CONFIG_PCI_LEGACY=y ## ## file: drivers/rtc/Kconfig ## -CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_DS1307=y CONFIG_RTC_DRV_RS5C372=y CONFIG_RTC_DRV_PCF8563=y @@ -382,7 +477,6 @@ CONFIG_RTC_DRV_S35390A=y # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_PPA is not set # CONFIG_SCSI_IMM is not set -# CONFIG_SCSI_MVSAS is not set # CONFIG_SCSI_STEX is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_IPR is not set @@ -391,7 +485,6 @@ CONFIG_RTC_DRV_S35390A=y # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set ## ## file: drivers/scsi/aic7xxx/Kconfig.aic79xx @@ -416,6 +509,11 @@ CONFIG_RTC_DRV_S35390A=y # CONFIG_MEGARAID_SAS is not set ## +## file: drivers/scsi/mvsas/Kconfig +## +# CONFIG_SCSI_MVSAS is not set + +## ## file: drivers/scsi/qla2xxx/Kconfig ## # CONFIG_SCSI_QLA_FC is not set @@ -453,18 +551,6 @@ CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DEVICE_CLASS=y - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -476,33 +562,9 @@ CONFIG_USB_UHCI_HCD=m CONFIG_USB_SL811_HCD=m ## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y - -## ## file: drivers/video/Kconfig ## -# CONFIG_VIDEO_OUTPUT_CONTROL is not set -# CONFIG_FB is not set - -## -## file: drivers/video/backlight/Kconfig -## -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +CONFIG_FB=m ## ## file: drivers/video/console/Kconfig @@ -510,22 +572,14 @@ CONFIG_USB_STORAGE_JUMPSHOT=y # CONFIG_VGA_CONSOLE is not set ## -## file: drivers/video/display/Kconfig -## -# CONFIG_DISPLAY_SUPPORT is not set - -## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -CONFIG_ORION5X_WATCHDOG=m +CONFIG_ORION_WATCHDOG=m ## ## file: fs/Kconfig.binfmt ## -CONFIG_BINFMT_ELF=y CONFIG_BINFMT_AOUT=m -CONFIG_BINFMT_MISC=m ## ## file: fs/partitions/Kconfig @@ -558,21 +612,6 @@ CONFIG_EFI_PARTITION=y # CONFIG_PM is not set ## -## file: kernel/time/Kconfig -## -CONFIG_HIGH_RES_TIMERS=y - -## -## file: kernel/trace/Kconfig -## -#. disabled because of size restrictions -# CONFIG_CONTEXT_SWITCH_TRACER is not set -#. disabled because of size restrictions -# CONFIG_BOOT_TRACER is not set -#. disabled because of size restrictions -# CONFIG_BLK_DEV_IO_TRACE is not set - -## ## file: mm/Kconfig ## ## choice: Memory model @@ -605,18 +644,3 @@ CONFIG_WAN_ROUTER=m ## CONFIG_X25=m -## -## file: security/selinux/Kconfig -## -#. disabled because of size restrictions -# CONFIG_SECURITY_SELINUX is not set - -## -## file: unknown -## -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_MSM7X00A is not set - -CONFIG_GPIO_SYSFS=y - diff --git a/config/arm/config.versatile b/config/armel/config.versatile index 0359fe6..c781c06 100644 --- a/config/arm/config.versatile +++ b/config/armel/config.versatile @@ -11,9 +11,9 @@ CONFIG_ARCH_VERSATILE=y # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_MXC is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set # CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set @@ -23,7 +23,6 @@ CONFIG_ARCH_VERSATILE=y # CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_KS8695 is not set # CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_MXC is not set # CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set @@ -35,7 +34,6 @@ CONFIG_ARCH_VERSATILE=y # CONFIG_ARCH_OMAP is not set ## end choice CONFIG_PCI=y -# CONFIG_PREEMPT is not set # CONFIG_LEDS is not set CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 @@ -164,11 +162,11 @@ CONFIG_VT_CONSOLE=y ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set CONFIG_KEYBOARD_STOWAWAY=m +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -235,7 +233,6 @@ CONFIG_TABLET_USB_WACOM=m ## file: drivers/net/Kconfig ## CONFIG_IFB=m -CONFIG_DUMMY=m CONFIG_NET_ETHERNET=y # CONFIG_AX88796 is not set # CONFIG_HAPPYMEAL is not set @@ -300,15 +297,9 @@ CONFIG_VITESSE_PHY=m CONFIG_SMSC_PHY=m CONFIG_BROADCOM_PHY=m CONFIG_ICPLUS_PHY=m -CONFIG_FIXED_PHY=m # CONFIG_MDIO_BITBANG is not set ## -## file: drivers/pci/Kconfig -## -CONFIG_PCI_LEGACY=y - -## ## file: drivers/pcmcia/Kconfig ## # CONFIG_PCCARD is not set @@ -343,12 +334,6 @@ CONFIG_USB_SUPPORT=y CONFIG_USB=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -363,11 +348,6 @@ CONFIG_USB_UHCI_HCD=m # CONFIG_USB_R8A66597_HCD is not set ## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m - -## ## file: drivers/video/Kconfig ## CONFIG_VIDEO_OUTPUT_CONTROL=m @@ -405,8 +385,6 @@ CONFIG_FB_VIRTUAL=m ## ## file: drivers/video/backlight/Kconfig ## -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_LCD_CLASS_DEVICE is not set CONFIG_BACKLIGHT_CLASS_DEVICE=m ## @@ -446,6 +424,13 @@ CONFIG_LOGO_LINUX_CLUT224=y # CONFIG_PM is not set ## +## file: kernel/Kconfig.preempt +## +## choice: Preemption Model +# CONFIG_PREEMPT is not set +## end choice + +## ## file: kernel/time/Kconfig ## # CONFIG_NO_HZ is not set @@ -507,9 +492,3 @@ CONFIG_IPX_INTERN=y ## # CONFIG_X25 is not set -## -## file: unknown -## -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CO285 is not set - diff --git a/config/armel/defines b/config/armel/defines index 5e4d92d..804b79f 100644 --- a/config/armel/defines +++ b/config/armel/defines @@ -10,61 +10,55 @@ kernel-arch: arm [image] suggests: fdutils -[iop32x_base] -class: IOP32x -longclass: IOP32x based (Thecus N2100, etc) - [iop32x_build] image-file: arch/arm/boot/zImage +[iop32x_description] +hardware: IOP32x +hardware-long: IOP32x based systems (Thecus N2100, etc) + [iop32x_image] -configs: arm/config.iop32x # Thecus N2100: 1441792 - 8 = 1441784 check-size: 1441784 -[ixp4xx_base] -class: IXP4xx -longclass: IXP4xx based (Linksys NSLU2, etc) - [ixp4xx_build] image-file: arch/arm/boot/zImage +[ixp4xx_description] +hardware: IXP4xx +hardware-long: IXP4xx based systems (Linksys NSLU2, etc) + [ixp4xx_image] -configs: arm/config.ixp4xx # Linksys NSLU2: 1441792 - 16 - 16 = 1441760 check-size: 1441760 -[kirkwood_base] -class: Marvell Kirkwood -longclass: Marvell Kirkwood based (SheevaPlug, QNAP TS-119/TS-219, etc) - [kirkwood_build] image-file: arch/arm/boot/zImage +[kirkwood_description] +hardware: Marvell Kirkwood +hardware-long: Marvell Kirkwood based systems (SheevaPlug, QNAP TS-119/TS-219, etc) + [kirkwood_image] recommends: uboot-mkimage # SheevaPlug: 4194304 - 8 - 64 = 4194232 # QNAP TS-119/TS-219: 2097152 - 8 - 64 = 2097080 check-size: 2097080 -[orion5x_base] -class: Orion -longclass: Orion 5181, 5182 and 5281 based (QNAP TS-109/TS-209, etc) - [orion5x_build] image-file: arch/arm/boot/zImage +[orion5x_description] +hardware: Marvell Orion +hardware-long: Marvell Orion 5181, 5182 and 5281 based systems (QNAP TS-109/TS-209, etc) + [orion5x_image] -configs: arm/config.orion5x recommends: uboot-mkimage # D-Link DNS-323: 1572864 - 8 - 64 = 1572792 # HP Media Vault mv2120: ca 2 MB # QNAP TS-109/TS-209 & TS-409: 2097152 - 8 - 64 = 2097080 check-size: 1572792 -[versatile_base] -class: Versatile -longclass: Versatile (PB, AB, Qemu) - -[versatile_image] -configs: arm/config.versatile +[versatile_description] +hardware: Versatile +hardware-long: Versatile systems (PB, AB, Qemu) diff --git a/config/config b/config/config index 455c9c2..a5a4b74 100644 --- a/config/config +++ b/config/config @@ -2,7 +2,7 @@ ## file: block/Kconfig ## CONFIG_BLOCK=y -CONFIG_LBD=y +CONFIG_LBDAF=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_INTEGRITY=y @@ -42,7 +42,9 @@ CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_HMAC=m CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_VMAC=m CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_GHASH=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m @@ -85,6 +87,7 @@ CONFIG_A11Y_BRAILLE_CONSOLE=y ## file: drivers/ata/Kconfig ## CONFIG_ATA=m +CONFIG_ATA_VERBOSE_ERROR=y CONFIG_ATA_ACPI=y CONFIG_SATA_PMP=y CONFIG_SATA_AHCI=m @@ -108,6 +111,7 @@ CONFIG_SATA_INIC162X=m # CONFIG_PATA_ALI is not set # CONFIG_PATA_AMD is not set CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATP867X=m # CONFIG_PATA_ATIIXP is not set # CONFIG_PATA_CMD640_PCI is not set # CONFIG_PATA_CMD64X is not set @@ -139,6 +143,7 @@ CONFIG_PATA_MARVELL=m # CONFIG_PATA_PDC_OLD is not set # CONFIG_PATA_QDI is not set # CONFIG_PATA_RADISYS is not set +CONFIG_PATA_RDC=m # CONFIG_PATA_RZ1000 is not set # CONFIG_PATA_SC1200 is not set # CONFIG_PATA_SERVERWORKS is not set @@ -167,7 +172,8 @@ CONFIG_ATM_SOLOS=m ## ## file: drivers/base/Kconfig ## -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y @@ -181,10 +187,10 @@ CONFIG_EXTRA_FIRMWARE="" ## CONFIG_BLK_DEV=y CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_CRYPTOLOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_OSD=m -CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM=m CONFIG_BLK_DEV_RAM_COUNT=16 # CONFIG_BLK_DEV_XIP is not set CONFIG_ATA_OVER_ETH=m @@ -192,16 +198,24 @@ CONFIG_VIRTIO_BLK=m # CONFIG_BLK_DEV_HD is not set ## +## file: drivers/block/drbd/Kconfig +## +CONFIG_BLK_DEV_DRBD=m +# CONFIG_DRBD_FAULT_INJECTION is not set + +## ## file: drivers/bluetooth/Kconfig ## CONFIG_BT_HCIBTUSB=m CONFIG_BT_HCIBTSDIO=m CONFIG_BT_HCIUART_LL=y +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m ## ## file: drivers/char/Kconfig ## -# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_VT_HW_CONSOLE_BINDING=y # CONFIG_DEVKMEM is not set CONFIG_COMPUTONE=m CONFIG_MOXA_SMARTIO=m @@ -246,6 +260,11 @@ CONFIG_TCG_ATMEL=m CONFIG_TCG_INFINEON=m ## +## file: drivers/clocksource/Kconfig +## +CONFIG_CS5535_CLOCK_EVENT_SRC=m + +## ## file: drivers/connector/Kconfig ## CONFIG_CONNECTOR=m @@ -273,9 +292,6 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m ## file: drivers/crypto/Kconfig ## CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_DEV_PADLOCK=m -CONFIG_CRYPTO_DEV_PADLOCK_AES=m -CONFIG_CRYPTO_DEV_PADLOCK_SHA=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y @@ -289,6 +305,7 @@ CONFIG_ASYNC_TX_DMA=y ## file: drivers/edac/Kconfig ## CONFIG_EDAC_I82975X=m +CONFIG_EDAC_I3200=m CONFIG_EDAC_X38=m CONFIG_EDAC_I5400=m CONFIG_EDAC_I5100=m @@ -318,11 +335,21 @@ CONFIG_DRM_SAVAGE=m # CONFIG_DRM_RADEON_KMS is not set ## +## file: drivers/gpu/drm/radeon/Kconfig +## +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y + +## +## file: drivers/gpu/drm/vmwgfx/Kconfig +## +CONFIG_DRM_VMWGFX=m + +## ## file: drivers/hid/Kconfig ## CONFIG_HID_SUPPORT=y CONFIG_HID=m -# CONFIG_HID_DEBUG is not set CONFIG_HIDRAW=y CONFIG_DRAGONRISE_FF=y CONFIG_LOGITECH_FF=y @@ -343,6 +370,7 @@ CONFIG_USB_HIDDEV=y ## file: drivers/hwmon/Kconfig ## CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ABITUGURU3=m CONFIG_SENSORS_AD7414=m @@ -354,7 +382,6 @@ CONFIG_SENSORS_ADT7462=m CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7473=m CONFIG_SENSORS_ADT7475=m -CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_F71882FG=m @@ -365,6 +392,7 @@ CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m CONFIG_SENSORS_LM93=m CONFIG_SENSORS_LTC4215=m CONFIG_SENSORS_LTC4245=m @@ -375,8 +403,11 @@ CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_THMC50=m CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_VIA_CPUTEMP=m CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83791D=m @@ -384,19 +415,18 @@ CONFIG_SENSORS_W83792D=m CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83L786NG=m CONFIG_SENSORS_W83627EHF=m -CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_WM8350=m +CONFIG_SENSORS_LIS3_I2C=m CONFIG_SENSORS_APPLESMC=m -# CONFIG_HWMON_DEBUG_CHIP is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_IEEE802154_DRIVERS=m -CONFIG_IEEE802154_FAKEHARD=m +CONFIG_SENSORS_MC13783_ADC=m +CONFIG_SENSORS_ATK0110=m +CONFIG_SENSORS_LIS3LV02D=m ## ## file: drivers/i2c/Kconfig ## +CONFIG_I2C_COMPAT=y CONFIG_I2C_HELPER_AUTO=y ## @@ -414,9 +444,6 @@ CONFIG_I2C_PCA_PLATFORM=m ## file: drivers/i2c/chips/Kconfig ## CONFIG_DS1682=m -CONFIG_PCF8575=m -CONFIG_SENSORS_PCA9539=m -CONFIG_SENSORS_MAX6875=m CONFIG_SENSORS_TSL2550=m ## @@ -446,6 +473,12 @@ CONFIG_I7300_IDLE=m # CONFIG_IEEE1394 is not set ## +## file: drivers/ieee802154/Kconfig +## +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKEHARD=m + +## ## file: drivers/infiniband/Kconfig ## CONFIG_INFINIBAND=m @@ -490,7 +523,7 @@ CONFIG_INFINIBAND_NES=m ## file: drivers/infiniband/ulp/ipoib/Kconfig ## CONFIG_INFINIBAND_IPOIB=m -# CONFIG_INFINIBAND_IPOIB_CM is not set +CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG=y # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set @@ -510,6 +543,7 @@ CONFIG_INFINIBAND_SRP=m CONFIG_INPUT=y CONFIG_INPUT_FF_MEMLESS=m # CONFIG_INPUT_POLLDEV is not set +CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 @@ -558,6 +592,11 @@ CONFIG_JOYSTICK_IFORCE_232=y ## ## file: drivers/input/keyboard/Kconfig ## +CONFIG_KEYBOARD_ADP5588=m +CONFIG_QT2160=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_OPENCORES=m CONFIG_KEYBOARD_STOWAWAY=m ## @@ -569,15 +608,23 @@ CONFIG_INPUT_KEYSPAN_REMOTE=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_YEALINK=m CONFIG_INPUT_CM109=m +CONFIG_INPUT_WINBOND_CIR=m CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_WM831X_ON=m ## ## file: drivers/input/mouse/Kconfig ## CONFIG_MOUSE_PS2_ALPS=y -CONFIG_MOUSE_SYNAPTICS_I2C=m -# CONFIG_MOUSE_PS2_ELANTECH is not set +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_SENTELIC=y # CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_SYNAPTICS_I2C=m + +## +## file: drivers/input/serio/Kconfig +## +CONFIG_SERIO_ALTERA_PS2=m ## ## file: drivers/input/touchscreen/Kconfig @@ -585,11 +632,13 @@ CONFIG_MOUSE_SYNAPTICS_I2C=m CONFIG_TOUCHSCREEN_ADS7846=m CONFIG_TOUCHSCREEN_AD7877=m CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_EETI=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_INEXIO=m CONFIG_TOUCHSCREEN_MK712=m @@ -603,6 +652,7 @@ CONFIG_TOUCHSCREEN_WM9705=y CONFIG_TOUCHSCREEN_WM9712=y CONFIG_TOUCHSCREEN_WM9713=y CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_MC13783=m CONFIG_TOUCHSCREEN_USB_EGALAX=y CONFIG_TOUCHSCREEN_USB_PANJIT=y CONFIG_TOUCHSCREEN_USB_3M=y @@ -611,6 +661,7 @@ CONFIG_TOUCHSCREEN_USB_ETURBO=y CONFIG_TOUCHSCREEN_USB_GUNZE=y CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_E2I=y CONFIG_TOUCHSCREEN_TOUCHIT213=m CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_W90X900=m @@ -624,11 +675,11 @@ CONFIG_CAPI_TRACE=y ## file: drivers/isdn/gigaset/Kconfig ## CONFIG_ISDN_DRV_GIGASET=m +CONFIG_GIGASET_CAPI=y CONFIG_GIGASET_BASE=m CONFIG_GIGASET_M105=m CONFIG_GIGASET_M101=m # CONFIG_GIGASET_DEBUG is not set -# CONFIG_GIGASET_UNDOCREQ is not set ## ## file: drivers/isdn/hardware/mISDN/Kconfig @@ -636,6 +687,11 @@ CONFIG_GIGASET_M101=m CONFIG_MISDN_HFCPCI=m CONFIG_MISDN_HFCMULTI=m CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_W6692=m +CONFIG_MISDN_NETJET=m ## ## file: drivers/isdn/hysdn/Kconfig @@ -659,11 +715,13 @@ CONFIG_LEDS_NET48XX=m CONFIG_LEDS_ALIX2=m CONFIG_LEDS_PCA9532=m CONFIG_LEDS_LP3944=m -CONFIG_LEDS_LP5521=m CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_WM831X_STATUS=m CONFIG_LEDS_WM8350=m CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_REGULATOR=m CONFIG_LEDS_BD2802=m +CONFIG_LEDS_INTEL_SS4200=m CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_IDE_DISK=y @@ -681,6 +739,10 @@ CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m CONFIG_MD_RAID10=m CONFIG_MD_RAID456=m +#. Experimental +# CONFIG_MULTICORE_RAID456 is not set +#. Self-test +# CONFIG_ASYNC_RAID6_TEST is not set CONFIG_MD_MULTIPATH=m CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=m @@ -720,7 +782,8 @@ CONFIG_MEDIA_TUNER_QT1010=m ## ## file: drivers/media/dvb/Kconfig ## -# CONFIG_DVB_DYNAMIC_MINORS is not set +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_DYNAMIC_MINORS=y CONFIG_DVB_CAPTURE_DRIVERS=y ## @@ -742,6 +805,11 @@ CONFIG_DVB_BT8XX=m CONFIG_DVB_DM1105=m ## +## file: drivers/media/dvb/firewire/Kconfig +## +CONFIG_DVB_FIREDTV=m + +## ## file: drivers/media/dvb/dvb-usb/Kconfig ## CONFIG_DVB_USB=m @@ -772,6 +840,8 @@ CONFIG_DVB_USB_ANYSEE=m CONFIG_DVB_USB_DTV5100=m CONFIG_DVB_USB_AF9015=m CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_EC168=m ## ## file: drivers/media/dvb/frontends/Kconfig @@ -819,19 +889,32 @@ CONFIG_DVB_PLL=m CONFIG_DVB_LNBP21=m CONFIG_DVB_ISL6405=m CONFIG_DVB_ISL6421=m -CONFIG_DVB_LGS8GL5=m +CONFIG_DVB_LGS8GXX=m CONFIG_DVB_DUMMY_FE=m ## +## file: drivers/media/dvb/mantis/Kconfig +## +CONFIG_MANTIS_CORE=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_HOPPER=m + +## ## file: drivers/media/dvb/pluto2/Kconfig ## CONFIG_DVB_PLUTO2=m ## +## file: drivers/media/dvb/pt1/Kconfig +## +CONFIG_DVB_PT1=m + +## ## file: drivers/media/dvb/siano/Kconfig ## -CONFIG_DVB_SIANO_SMS1XXX=m -CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_USB_DRV=m +CONFIG_SMS_SDIO_DRV=m ## ## file: drivers/media/dvb/ttpci/Kconfig @@ -858,11 +941,19 @@ CONFIG_DVB_TTUSB_DEC=m ## file: drivers/media/radio/Kconfig ## CONFIG_RADIO_ADAPTERS=y -CONFIG_USB_SI470X=m +CONFIG_I2C_SI4713=m +CONFIG_RADIO_SI4713=m +CONFIG_RADIO_SI470X=y CONFIG_USB_MR800=m CONFIG_RADIO_TEA5764=m ## +## file: drivers/media/radio/si470x/Kconfig +## +CONFIG_USB_SI470X=m +CONFIG_I2C_SI470X=y + +## ## file: drivers/media/video/Kconfig ## CONFIG_VIDEO_CAPTURE_DRIVERS=y @@ -916,10 +1007,13 @@ CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_MT9M001=m CONFIG_SOC_CAMERA_MT9M111=m CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9T112=m CONFIG_SOC_CAMERA_MT9V022=m +CONFIG_SOC_CAMERA_RJ54N1=m CONFIG_SOC_CAMERA_TW9910=m CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_SOC_CAMERA_OV772X=m +CONFIG_SOC_CAMERA_OV9640=m CONFIG_VIDEO_SH_MOBILE_CEU=m CONFIG_V4L_USB_DRIVERS=y CONFIG_VIDEO_OVCAMCHIP=m @@ -997,11 +1091,13 @@ CONFIG_USB_GSPCA=m CONFIG_USB_GSPCA_CONEX=m CONFIG_USB_GSPCA_ETOMS=m CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m CONFIG_USB_GSPCA_MARS=m CONFIG_USB_GSPCA_MR97310A=m CONFIG_USB_GSPCA_OV519=m CONFIG_USB_GSPCA_OV534=m CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m CONFIG_USB_GSPCA_PAC7311=m CONFIG_USB_GSPCA_SN9C20X=m CONFIG_USB_GSPCA_SN9C20X_EVDEV=y @@ -1016,6 +1112,7 @@ CONFIG_USB_GSPCA_SPCA561=m CONFIG_USB_GSPCA_SQ905=m CONFIG_USB_GSPCA_SQ905C=m CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STV0680=m CONFIG_USB_GSPCA_SUNPLUS=m CONFIG_USB_GSPCA_T613=m CONFIG_USB_GSPCA_TV8532=m @@ -1023,6 +1120,11 @@ CONFIG_USB_GSPCA_VC032X=m CONFIG_USB_GSPCA_ZC3XX=m ## +## file: drivers/media/video/gspca/gl860/Kconfig +## +CONFIG_USB_GL860=m + +## ## file: drivers/media/video/gspca/m5602/Kconfig ## CONFIG_USB_M5602=m @@ -1066,6 +1168,11 @@ CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m ## +## file: drivers/media/video/saa7164/Kconfig +## +CONFIG_VIDEO_SAA7164=m + +## ## file: drivers/media/video/sn9c102/Kconfig ## CONFIG_USB_SN9C102=m @@ -1152,16 +1259,21 @@ CONFIG_MFD_SM501=m CONFIG_HTC_PASIC3=m CONFIG_TPS65010=m CONFIG_MFD_WM8400=m +CONFIG_MFD_WM831X=m CONFIG_MFD_WM8350_I2C=m CONFIG_MFD_PCF50633=m +CONFIG_MFD_MC13783=m CONFIG_PCF50633_ADC=m CONFIG_PCF50633_GPIO=m CONFIG_AB3100_CORE=m +CONFIG_AB3100_OTP=m +# CONFIG_EZX_PCAP is not set ## ## file: drivers/misc/Kconfig ## CONFIG_MISC_DEVICES=y +CONFIG_AD525X_DPOT=m CONFIG_SGI_IOC4=m CONFIG_TIFM_CORE=m CONFIG_TIFM_7XX1=m @@ -1171,8 +1283,6 @@ CONFIG_SGI_XP=m CONFIG_SGI_GRU=m # CONFIG_SGI_GRU_DEBUG is not set CONFIG_ISL29003=m -CONFIG_CB710_CORE=m -# CONFIG_CB710_DEBUG is not set ## ## file: drivers/misc/c2port/Kconfig @@ -1181,6 +1291,12 @@ CONFIG_C2PORT=m CONFIG_C2PORT_DURAMAR_2150=m ## +## file: drivers/misc/cb710/Kconfig +## +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set + +## ## file: drivers/misc/eeprom/Kconfig ## CONFIG_EEPROM_AT24=m @@ -1233,6 +1349,7 @@ CONFIG_MTD_DATAFLASH=m # CONFIG_MTD_DATAFLASH_OTP is not set CONFIG_MTD_M25P80=m CONFIG_M25PXX_USE_FAST_READ=y +CONFIG_MTD_SST25L=m ## ## file: drivers/mtd/lpddr/Kconfig @@ -1262,6 +1379,7 @@ CONFIG_MTD_ALAUDA=m ## CONFIG_MTD_ONENAND=m CONFIG_MTD_ONENAND_VERIFY_WRITE=y +CONFIG_MTD_ONENAND_GENERIC=m # CONFIG_MTD_ONENAND_OTP is not set CONFIG_MTD_ONENAND_2X_PROGRAM=y CONFIG_MTD_ONENAND_SIM=m @@ -1283,8 +1401,8 @@ CONFIG_MTD_UBI_BEB_RESERVE=1 ## file: drivers/net/Kconfig ## CONFIG_NETDEVICES=y -CONFIG_COMPAT_NET_DEV_OPS=y CONFIG_IFB=m +CONFIG_DUMMY=m CONFIG_BONDING=m CONFIG_MACVLAN=m CONFIG_EQUALIZER=m @@ -1302,6 +1420,9 @@ CONFIG_PCNET32=m CONFIG_R6040=m CONFIG_SMSC9420=m CONFIG_TLAN=m +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m CONFIG_SC92031=m # CONFIG_NET_POCKET is not set CONFIG_ATL2=m @@ -1375,6 +1496,7 @@ CONFIG_SLIP_MODE_SLIP6=y CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_VIRTIO_NET=m +CONFIG_VMXNET3=m ## ## file: drivers/net/appletalk/Kconfig @@ -1397,17 +1519,33 @@ CONFIG_BE2NET=m CONFIG_CAN_VCAN=m CONFIG_CAN_DEV=m CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_MCP251X=m +# CONFIG_CAN_DEBUG_DEVICES is not set + +## +## file: drivers/net/can/sja1000/Kconfig +## CONFIG_CAN_SJA1000=m CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_EMS_PCI=m CONFIG_CAN_KVASER_PCI=m -# CONFIG_CAN_DEBUG_DEVICES is not set + +## +## file: drivers/net/can/usb/Kconfig +## +CONFIG_CAN_EMS_USB=m ## ## file: drivers/net/hamradio/Kconfig ## CONFIG_MKISS=m CONFIG_6PACK=m +CONFIG_BPQETHER=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_EPP=m +CONFIG_YAM=m ## ## file: drivers/net/irda/Kconfig @@ -1476,6 +1614,7 @@ CONFIG_ABYSS=m ## ## file: drivers/net/tulip/Kconfig ## +CONFIG_DE2104X_DSL=0 CONFIG_TULIP_NAPI=y CONFIG_TULIP_NAPI_HW_MITIGATION=y CONFIG_ULI526X=m @@ -1527,12 +1666,14 @@ CONFIG_WAN_ROUTER_DRIVERS=m ## file: drivers/net/wimax/i2400m/Kconfig ## CONFIG_WIMAX_I2400M_USB=m +CONFIG_WIMAX_IWMC3200_SDIO=y CONFIG_WIMAX_I2400M_SDIO=m CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 ## ## file: drivers/net/wireless/Kconfig ## +CONFIG_WLAN=y CONFIG_LIBERTAS=m CONFIG_LIBERTAS_USB=m CONFIG_LIBERTAS_CS=m @@ -1552,18 +1693,23 @@ CONFIG_MAC80211_HWSIM=m CONFIG_MWL8K=m ## -## file: drivers/net/wireless/ar9170/Kconfig +## file: drivers/net/wireless/ath/Kconfig +## +CONFIG_ATH_COMMON=m + +## +## file: drivers/net/wireless/ath/ar9170/Kconfig ## CONFIG_AR9170_USB=m ## -## file: drivers/net/wireless/ath5k/Kconfig +## file: drivers/net/wireless/ath/ath5k/Kconfig ## CONFIG_ATH5K=m # CONFIG_ATH5K_DEBUG is not set ## -## file: drivers/net/wireless/ath9k/Kconfig +## file: drivers/net/wireless/ath/ath9k/Kconfig ## CONFIG_ATH9K=m # CONFIG_ATH9K_DEBUG is not set @@ -1573,6 +1719,8 @@ CONFIG_ATH9K=m ## CONFIG_B43=m CONFIG_B43_PCMCIA=y +CONFIG_B43_SDIO=y +CONFIG_B43_PHY_LP=y # CONFIG_B43_DEBUG is not set ## @@ -1612,7 +1760,6 @@ CONFIG_IPW2200_QOS=y ## CONFIG_IWLWIFI=m CONFIG_IWLWIFI_LEDS=y -CONFIG_IWLWIFI_RFKILL=y CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=y # CONFIG_IWLWIFI_DEBUG is not set CONFIG_IWLAGN=m @@ -1649,6 +1796,7 @@ CONFIG_RT2X00=m CONFIG_RT2400PCI=m CONFIG_RT2500PCI=m CONFIG_RT61PCI=m +CONFIG_RT2800PCI=m CONFIG_RT2500USB=m CONFIG_RT73USB=m CONFIG_RT2800USB=m @@ -1658,6 +1806,10 @@ CONFIG_RT2800USB=m ## file: drivers/net/wireless/wl12xx/Kconfig ## CONFIG_WL12XX=m +CONFIG_WL1251=m +CONFIG_WL1251_SPI=m +CONFIG_WL1251_SDIO=m +CONFIG_WL1271=m ## ## file: drivers/net/wireless/zd1211rw/Kconfig @@ -1680,7 +1832,9 @@ CONFIG_PARPORT_1284=y ## ## file: drivers/pci/Kconfig ## +CONFIG_PCI_MSI=y CONFIG_PCI_LEGACY=y +# CONFIG_PCI_DEBUG is not set CONFIG_PCI_STUB=m CONFIG_PCI_IOV=y @@ -1692,7 +1846,21 @@ CONFIG_HOTPLUG_PCI_CPCI=y ## ## file: drivers/pci/pcie/Kconfig ## -# CONFIG_PCIEASPM is not set +CONFIG_PCIEPORTBUS=y +CONFIG_HOTPLUG_PCI_PCIE=m +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set + +## +## file: drivers/pci/pcie/aer/Kconfig +## +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set + +## +## file: drivers/pci/pcie/aer/Kconfig.debug +## +CONFIG_PCIEAER_INJECT=m ## ## file: drivers/pcmcia/Kconfig @@ -1726,7 +1894,9 @@ CONFIG_SONY_LAPTOP=m ## file: drivers/power/Kconfig ## # CONFIG_POWER_SUPPLY is not set +CONFIG_WM831X_POWER=m CONFIG_WM8350_POWER=m +CONFIG_BATTERY_DS2782=m CONFIG_BATTERY_BQ27x00=m CONFIG_BATTERY_MAX17040=m CONFIG_CHARGER_PCF50633=m @@ -1747,10 +1917,16 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m CONFIG_REGULATOR_USERSPACE_CONSUMER=m CONFIG_REGULATOR_BQ24022=m CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_WM831X=m CONFIG_REGULATOR_WM8350=m CONFIG_REGULATOR_WM8400=m CONFIG_REGULATOR_PCF50633=m CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_AB3100=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m ## ## file: drivers/rtc/Kconfig @@ -1775,6 +1951,7 @@ CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_M41T80=m # CONFIG_RTC_DRV_M41T80_WDT is not set +CONFIG_RTC_DRV_BQ32K=m CONFIG_RTC_DRV_S35390A=m CONFIG_RTC_DRV_FM3130=m CONFIG_RTC_DRV_RX8581=m @@ -1786,6 +1963,7 @@ CONFIG_RTC_DRV_MAX6902=m CONFIG_RTC_DRV_R9701=m CONFIG_RTC_DRV_RS5C348=m CONFIG_RTC_DRV_DS3234=m +CONFIG_RTC_DRV_PCF2123=m CONFIG_RTC_DRV_CMOS=m CONFIG_RTC_DRV_DS1286=m CONFIG_RTC_DRV_DS1511=m @@ -1795,10 +1973,14 @@ CONFIG_RTC_DRV_STK17TA8=m CONFIG_RTC_DRV_M48T86=m CONFIG_RTC_DRV_M48T35=m CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_RP5C01=m CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_WM831X=m CONFIG_RTC_DRV_WM8350=m CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_AB3100=m ## ## file: drivers/scsi/Kconfig @@ -1829,6 +2011,7 @@ CONFIG_SCSI_LOWLEVEL=y CONFIG_ISCSI_TCP=m CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m CONFIG_SCSI_7000FASST=m CONFIG_SCSI_ACARD=m CONFIG_SCSI_AHA152X=m @@ -1839,6 +2022,7 @@ CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_ADVANSYS=m # CONFIG_SCSI_ARCMSR_AER is not set CONFIG_SCSI_HPTIOP=m +CONFIG_VMWARE_PVSCSI=m CONFIG_LIBFC=m CONFIG_FCOE=m CONFIG_FCOE_FNIC=m @@ -1846,14 +2030,16 @@ CONFIG_SCSI_PPA=m CONFIG_SCSI_IMM=m # CONFIG_SCSI_IZIP_EPP16 is not set # CONFIG_SCSI_IZIP_SLOW_CTR is not set -CONFIG_SCSI_MVSAS=m -# CONFIG_SCSI_MVSAS_DEBUG is not set CONFIG_SCSI_STEX=m CONFIG_SCSI_SYM53C8XX_MMIO=y # CONFIG_SCSI_IPR is not set CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set +# CONFIG_SCSI_DEBUG is not set +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PM8001=m CONFIG_SCSI_SRP=m +CONFIG_SCSI_BFA_FC=m ## ## file: drivers/scsi/aic7xxx/Kconfig.aic79xx @@ -1882,6 +2068,11 @@ CONFIG_SCSI_AIC94XX=m # CONFIG_AIC94XX_DEBUG is not set ## +## file: drivers/scsi/be2iscsi/Kconfig +## +CONFIG_BE2ISCSI=m + +## ## file: drivers/scsi/bnx2i/Kconfig ## CONFIG_SCSI_BNX2_ISCSI=m @@ -1921,6 +2112,12 @@ CONFIG_SCSI_MPT2SAS_MAX_SGE=128 # CONFIG_SCSI_MPT2SAS_LOGGING is not set ## +## file: drivers/scsi/mvsas/Kconfig +## +CONFIG_SCSI_MVSAS=m +# CONFIG_SCSI_MVSAS_DEBUG is not set + +## ## file: drivers/scsi/osd/Kconfig ## CONFIG_SCSI_OSD_INITIATOR=m @@ -1975,10 +2172,218 @@ CONFIG_SSB=m ## ## file: drivers/staging/Kconfig ## -# CONFIG_STAGING is not set +CONFIG_STAGING=y # CONFIG_STAGING_EXCLUDE_BUILD is not set ## +## file: drivers/staging/altpciechdma/Kconfig +## +# CONFIG_ALTERA_PCIE_CHDMA is not set + +## +## file: drivers/staging/android/Kconfig +## +# CONFIG_ANDROID is not set +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_RAM_CONSOLE is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set + +## +## file: drivers/staging/asus_oled/Kconfig +## +# CONFIG_ASUS_OLED is not set + +## +## file: drivers/staging/b3dfg/Kconfig +## +# CONFIG_B3DFG is not set + +## +## file: drivers/staging/comedi/Kconfig +## +# CONFIG_COMEDI is not set + +## +## file: drivers/staging/cx25821/Kconfig +## +# CONFIG_VIDEO_CX25821 is not set + +## +## file: drivers/staging/dream/Kconfig +## +# CONFIG_INPUT_GPIO is not set + +## +## file: drivers/staging/dst/Kconfig +## +# CONFIG_DST is not set + +## +## file: drivers/staging/echo/Kconfig +## +# CONFIG_ECHO is not set + +## +## file: drivers/staging/et131x/Kconfig +## +# CONFIG_ET131X is not set + +## +## file: drivers/staging/frontier/Kconfig +## +# CONFIG_TRANZPORT is not set + +## +## file: drivers/staging/go7007/Kconfig +## +# CONFIG_VIDEO_GO7007 is not set + +## +## file: drivers/staging/hv/Kconfig +## +# CONFIG_HYPERV is not set + +## +## file: drivers/staging/iio/Kconfig +## +# CONFIG_IIO is not set + +## +## file: drivers/staging/line6/Kconfig +## +# CONFIG_LINE6_USB is not set + +## +## file: drivers/staging/mimio/Kconfig +## +# CONFIG_INPUT_MIMIO is not set + +## +## file: drivers/staging/otus/Kconfig +## +# CONFIG_OTUS is not set + +## +## file: drivers/staging/p9auth/Kconfig +## +# CONFIG_PLAN9AUTH is not set + +## +## file: drivers/staging/panel/Kconfig +## +# CONFIG_PANEL is not set + +## +## file: drivers/staging/phison/Kconfig +## +# CONFIG_IDE_PHISON is not set + +## +## file: drivers/staging/poch/Kconfig +## +# CONFIG_POCH is not set + +## +## file: drivers/staging/pohmelfs/Kconfig +## +# CONFIG_POHMELFS is not set + +## +## file: drivers/staging/quatech_usb2/Kconfig +## +# CONFIG_USB_SERIAL_QUATECH_USB2 is not set + +## +## file: drivers/staging/rar/Kconfig +## +# CONFIG_RAR_REGISTER is not set + +## +## file: drivers/staging/rt2860/Kconfig +## +# CONFIG_RT2860 is not set + +## +## file: drivers/staging/rt2870/Kconfig +## +# CONFIG_RT2870 is not set + +## +## file: drivers/staging/rtl8187se/Kconfig +## +# CONFIG_RTL8187SE is not set + +## +## file: drivers/staging/rtl8192e/Kconfig +## +# CONFIG_RTL8192E is not set + +## +## file: drivers/staging/serqt_usb2/Kconfig +## +# CONFIG_USB_SERIAL_QUATECH2 is not set + +## +## file: drivers/staging/slicoss/Kconfig +## +# CONFIG_SLICOSS is not set + +## +## file: drivers/staging/speakup/Kconfig +## +CONFIG_SPEAKUP=m +CONFIG_SPEAKUP_SYNTH_ACNTSA=m +CONFIG_SPEAKUP_SYNTH_ACNTPC=m +CONFIG_SPEAKUP_SYNTH_APOLLO=m +CONFIG_SPEAKUP_SYNTH_AUDPTR=m +CONFIG_SPEAKUP_SYNTH_BNS=m +CONFIG_SPEAKUP_SYNTH_DECTLK=m +CONFIG_SPEAKUP_SYNTH_DECEXT=m +CONFIG_SPEAKUP_SYNTH_DTLK=m +CONFIG_SPEAKUP_SYNTH_KEYPC=m +CONFIG_SPEAKUP_SYNTH_LTLK=m +CONFIG_SPEAKUP_SYNTH_SOFT=m +CONFIG_SPEAKUP_SYNTH_SPKOUT=m +CONFIG_SPEAKUP_SYNTH_TXPRT=m +CONFIG_SPEAKUP_SYNTH_DUMMY=m + +## +## file: drivers/staging/udlfb/Kconfig +## +# CONFIG_FB_UDL is not set + +## +## file: drivers/staging/usbip/Kconfig +## +# CONFIG_USB_IP_COMMON is not set + +## +## file: drivers/staging/vme/Kconfig +## +# CONFIG_VME_BUS is not set + +## +## file: drivers/staging/vt6655/Kconfig +## +# CONFIG_VT6655 is not set + +## +## file: drivers/staging/vt6656/Kconfig +## +# CONFIG_VT6656 is not set + +## +## file: drivers/staging/winbond/Kconfig +## +# CONFIG_W35UND is not set + +## +## file: drivers/staging/wlan-ng/Kconfig +## +# CONFIG_PRISM2_USB is not set + +## ## file: drivers/uio/Kconfig ## CONFIG_UIO=m @@ -1988,6 +2393,7 @@ CONFIG_UIO_PDRV_GENIRQ=m CONFIG_UIO_SMX=m CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m +CONFIG_UIO_PCI_GENERIC=m ## ## file: drivers/usb/Kconfig @@ -2004,14 +2410,20 @@ CONFIG_USB_XUSBATM=m ## ## file: drivers/usb/class/Kconfig ## +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m CONFIG_USB_WDM=m CONFIG_USB_TMC=m ## ## file: drivers/usb/core/Kconfig ## +# CONFIG_USB_DEBUG is not set CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_DEVICE_CLASS=y +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_DEVICE_CLASS is not set +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_SUSPEND=y ## ## file: drivers/usb/gadget/Kconfig @@ -2028,31 +2440,46 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y # CONFIG_USB_OXU210HP_HCD is not set CONFIG_USB_ISP116X_HCD=m # CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set CONFIG_USB_U132_HCD=m CONFIG_USB_R8A66597_HCD=m CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m ## +## file: drivers/usb/image/Kconfig +## +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m + +## ## file: drivers/usb/misc/Kconfig ## CONFIG_USB_EMI62=m CONFIG_USB_EMI26=m CONFIG_USB_ADUTUX=m CONFIG_USB_SEVSEG=m +CONFIG_USB_RIO500=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LCD=m CONFIG_USB_BERRY_CHARGE=m +CONFIG_USB_LED=m CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_IDMOUSE=m CONFIG_USB_FTDI_ELAN=m CONFIG_USB_APPLEDISPLAY=m CONFIG_USB_LD=m CONFIG_USB_TRANCEVIBRATOR=m CONFIG_USB_IOWARRIOR=m +CONFIG_USB_TEST=m CONFIG_USB_ISIGHTFW=m CONFIG_USB_VST=m ## ## file: drivers/usb/misc/sisusbvga/Kconfig ## +CONFIG_USB_SISUSBVGA=m CONFIG_USB_SISUSBVGA_CON=y ## @@ -2120,10 +2547,19 @@ CONFIG_USB_SERIAL_DEBUG=m ## ## file: drivers/usb/storage/Kconfig ## -CONFIG_USB_STORAGE_ALAUDA=y -CONFIG_USB_STORAGE_ONETOUCH=y -CONFIG_USB_STORAGE_KARMA=y -CONFIG_USB_STORAGE_CYPRESS_ATACB=y +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_DATAFAB=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m # CONFIG_USB_LIBUSUAL is not set ## @@ -2176,6 +2612,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set CONFIG_BACKLIGHT_MBP_NVIDIA=m # CONFIG_BACKLIGHT_SAHARA is not set +CONFIG_BACKLIGHT_WM831X=m ## ## file: drivers/video/console/Kconfig @@ -2222,9 +2659,14 @@ CONFIG_W1_SLAVE_BQ27000=m ## ## file: drivers/watchdog/Kconfig ## +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_SOFT_WATCHDOG=m +CONFIG_WM831X_WATCHDOG=m CONFIG_WM8350_WATCHDOG=m +CONFIG_SBC_FITPC2_WATCHDOG=m CONFIG_ITCO_WDT=m -# CONFIG_ITCO_VENDOR_SUPPORT is not set +CONFIG_ITCO_VENDOR_SUPPORT=y CONFIG_IT87_WDT=m CONFIG_PC87413_WDT=m CONFIG_SMSC_SCH311X_WDT=m @@ -2236,18 +2678,18 @@ CONFIG_SBC_EPX_C3_WATCHDOG=m ## ## file: fs/Kconfig ## +CONFIG_CUSE=m CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y -CONFIG_CUSE=m CONFIG_HUGETLBFS=y CONFIG_MISC_FILESYSTEMS=y -CONFIG_NILFS2_FS=m CONFIG_NETWORK_FILESYSTEMS=y ## ## file: fs/9p/Kconfig ## CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y ## ## file: fs/adfs/Kconfig @@ -2268,6 +2710,25 @@ CONFIG_AFS_FS=m CONFIG_AFS_FSCACHE=y ## +## file: fs/aufs/Kconfig +## +CONFIG_AUFS_FS=m +## choice: Maximum number of branches +CONFIG_AUFS_BRANCH_MAX_127=y +# CONFIG_AUFS_BRANCH_MAX_511 is not set +# CONFIG_AUFS_BRANCH_MAX_1023 is not set +# CONFIG_AUFS_BRANCH_MAX_32767 is not set +## end choice +# CONFIG_AUFS_HINOTIFY is not set +# CONFIG_AUFS_EXPORT is not set +# CONFIG_AUFS_RDU is not set +# CONFIG_AUFS_SP_IATTR is not set +# CONFIG_AUFS_SHWH is not set +# CONFIG_AUFS_BR_RAMFS is not set +# CONFIG_AUFS_BR_FUSE is not set +# CONFIG_AUFS_DEBUG is not set + +## ## file: fs/autofs/Kconfig ## CONFIG_AUTOFS_FS=m @@ -2380,10 +2841,10 @@ CONFIG_EXT3_FS_SECURITY=y ## file: fs/ext4/Kconfig ## CONFIG_EXT4_FS=m -CONFIG_EXT4DEV_COMPAT=y CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set ## ## file: fs/fat/Kconfig @@ -2405,6 +2866,7 @@ CONFIG_FSCACHE=m CONFIG_FSCACHE_STATS=y # CONFIG_FSCACHE_HISTOGRAM is not set # CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set ## ## file: fs/fuse/Kconfig @@ -2490,9 +2952,9 @@ CONFIG_MINIX_FS=m ## file: fs/ncpfs/Kconfig ## CONFIG_NCP_FS=m -# CONFIG_NCPFS_PACKET_SIGNING is not set -# CONFIG_NCPFS_IOCTL_LOCKING is not set -# CONFIG_NCPFS_STRONG is not set +CONFIG_NCPFS_PACKET_SIGNING=y +CONFIG_NCPFS_IOCTL_LOCKING=y +CONFIG_NCPFS_STRONG=y CONFIG_NCPFS_NFS_NS=y CONFIG_NCPFS_OS2_NS=y # CONFIG_NCPFS_SMALLDOS is not set @@ -2518,6 +2980,11 @@ CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y ## +## file: fs/nilfs2/Kconfig +## +CONFIG_NILFS2_FS=m + +## ## file: fs/nls/Kconfig ## CONFIG_NLS=m @@ -2562,11 +3029,6 @@ CONFIG_NLS_KOI8_U=m CONFIG_NLS_UTF8=m ## -## file: fs/notify/Kconfig -## -CONFIG_FSNOTIFY=y - -## ## file: fs/notify/dnotify/Kconfig ## CONFIG_DNOTIFY=y @@ -2604,8 +3066,22 @@ CONFIG_OMFS_FS=m ## file: fs/partitions/Kconfig ## CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set CONFIG_KARMA_PARTITION=y +# CONFIG_EFI_PARTITION is not set # CONFIG_SYSV68_PARTITION is not set ## @@ -2718,11 +3194,12 @@ CONFIG_TASK_IO_ACCOUNTING=y CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y ## choice: RCU Implementation -CONFIG_CLASSIC_RCU=y -# CONFIG_TREE_RCU is not set -# CONFIG_PREEMPT_RCU is not set +CONFIG_TREE_RCU=y +# CONFIG_TREE_PREEMPT_RCU is not set ## end choice # CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_GROUP_SCHED=y @@ -2755,7 +3232,6 @@ CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_STRIP_ASM_SYMS=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y @@ -2765,15 +3241,20 @@ CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y +CONFIG_PERF_EVENTS=y +CONFIG_EVENT_PROFILE=y +#. Compatibility setting +# CONFIG_PERF_COUNTERS is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set CONFIG_VM_EVENT_COUNTERS=y # CONFIG_COMPAT_BRK is not set ## choice: Choose SLAB allocator -CONFIG_SLAB=y -# CONFIG_SLUB is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y # CONFIG_SLOB is not set ## end choice CONFIG_PROFILING=y -# CONFIG_MARKERS is not set +# CONFIG_SLOW_WORK_DEBUG is not set CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y @@ -2782,6 +3263,11 @@ CONFIG_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set ## +## file: kernel/gcov/Kconfig +## +# CONFIG_GCOV_KERNEL is not set + +## ## file: kernel/Kconfig.hz ## ## choice: Timer frequency @@ -2792,25 +3278,22 @@ CONFIG_HZ_250=y ## end choice ## -## file: kernel/gcov/Kconfig -## -# CONFIG_GCOV_KERNEL is not set - -## ## file: kernel/power/Kconfig ## CONFIG_PM=y -# CONFIG_PM_DEBUG is not set +CONFIG_PM_DEBUG=y +# CONFIG_PM_VERBOSE is not set CONFIG_SUSPEND=y CONFIG_HIBERNATION=y CONFIG_PM_STD_PARTITION="" +CONFIG_PM_RUNTIME=y ## ## file: kernel/Kconfig.preempt ## ## choice: Preemption Model -CONFIG_PREEMPT_NONE=y -# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set ## end choice @@ -2823,15 +3306,18 @@ CONFIG_HIGH_RES_TIMERS=y ## ## file: kernel/trace/Kconfig ## +CONFIG_FTRACE=y # CONFIG_FUNCTION_TRACER is not set # CONFIG_IRQSOFF_TRACER is not set # CONFIG_SYSPROF_TRACER is not set # CONFIG_SCHED_TRACER is not set -# CONFIG_CONTEXT_SWITCH_TRACER is not set -# CONFIG_EVENT_TRACER is not set # CONFIG_FTRACE_SYSCALLS is not set CONFIG_BOOT_TRACER=y -# CONFIG_TRACE_BRANCH_PROFILING is not set +## choice: Branch Profiling +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +## end choice # CONFIG_POWER_TRACER is not set # CONFIG_STACK_TRACER is not set # CONFIG_HW_BRANCH_TRACER is not set @@ -2839,6 +3325,7 @@ CONFIG_BOOT_TRACER=y # CONFIG_WORKQUEUE_TRACER is not set CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set ## ## file: lib/Kconfig @@ -2858,6 +3345,9 @@ CONFIG_PRINTK_TIME=y CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y CONFIG_MAGIC_SYSRQ=y +#. everything except {DUMP SIGNAL} +CONFIG_MAGIC_SYSRQ_DEFAULT_MASK=0x01b6 +CONFIG_STRIP_ASM_SYMS=y CONFIG_UNUSED_SYMBOLS=y CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set @@ -2870,7 +3360,8 @@ CONFIG_SCHED_DEBUG=y # CONFIG_SCHEDSTATS is not set CONFIG_TIMER_STATS=y # CONFIG_DEBUG_OBJECTS is not set -# CONFIG_DEBUG_SLAB is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set @@ -2890,11 +3381,13 @@ CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set CONFIG_SYSCTL_SYSCALL_CHECK=y @@ -2910,7 +3403,13 @@ CONFIG_SYSCTL_SYSCALL_CHECK=y ## ## file: mm/Kconfig ## -CONFIG_UNEVICTABLE_LRU=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MIGRATION=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_MEMORY_FAILURE=y +CONFIG_HWPOISON_INJECT=m ## ## file: net/Kconfig @@ -3178,7 +3677,6 @@ CONFIG_LLC2=m ## file: net/mac80211/Kconfig ## CONFIG_MAC80211=m -CONFIG_MAC80211_DEFAULT_PS=y CONFIG_MAC80211_RC_PID=y CONFIG_MAC80211_RC_MINSTREL=y ## choice: Default rate control algorithm @@ -3310,13 +3808,15 @@ CONFIG_PHONET=m ## file: net/rds/Kconfig ## CONFIG_RDS=m +CONFIG_RDS_RDMA=m +CONFIG_RDS_TCP=m # CONFIG_RDS_DEBUG is not set ## ## file: net/rfkill/Kconfig ## CONFIG_RFKILL=m -CONFIG_RFKILL_INPUT=m +CONFIG_RFKILL_INPUT=y ## ## file: net/rxrpc/Kconfig @@ -3420,9 +3920,13 @@ CONFIG_WIMAX_DEBUG_LEVEL=8 ## file: net/wireless/Kconfig ## CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_CFG80211_DEBUGFS is not set CONFIG_WIRELESS_OLD_REGULATORY=y +CONFIG_CFG80211_WEXT=y CONFIG_WIRELESS_EXT=y # CONFIG_WIRELESS_EXT_SYSFS is not set CONFIG_LIB80211=m @@ -3432,11 +3936,11 @@ CONFIG_LIB80211=m ## file: net/xfrm/Kconfig ## CONFIG_XFRM_USER=m -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_MIGRATE=y # CONFIG_XFRM_STATISTICS is not set CONFIG_NET_KEY=m -# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_NET_KEY_MIGRATE=y ## ## file: samples/Kconfig @@ -3454,7 +3958,8 @@ CONFIG_SECURITY_NETWORK_XFRM=y # CONFIG_SECURITY_PATH is not set CONFIG_SECURITY_FILE_CAPABILITIES=y # CONFIG_SECURITY_ROOTPLUG is not set -CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 +# CONFIG_INTEL_TXT is not set +CONFIG_LSM_MMAP_MIN_ADDR=32768 ## ## file: security/integrity/ima/Kconfig @@ -3482,6 +3987,7 @@ CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 ## file: sound/Kconfig ## CONFIG_SOUND=m +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set CONFIG_SND=m # CONFIG_SOUND_PRIME is not set @@ -3497,7 +4003,7 @@ CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_HRTIMER=m CONFIG_SND_SEQ_HRTIMER_DEFAULT=y # CONFIG_SND_RTCTIMER is not set -# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_DYNAMIC_MINORS=y CONFIG_SND_SUPPORT_OLD_API=y CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set @@ -3522,6 +4028,7 @@ CONFIG_SND_ALS300=m # CONFIG_SND_AW2 is not set CONFIG_SND_OXYGEN=m CONFIG_SND_CS5530=m +CONFIG_SND_CS5535AUDIO=m CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_GINA20=m @@ -3550,7 +4057,9 @@ CONFIG_SND_VIRTUOSO=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=1 CONFIG_SND_HDA_INPUT_JACK=y +CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_CODEC_REALTEK=y CONFIG_SND_HDA_CODEC_ANALOG=y CONFIG_SND_HDA_CODEC_SIGMATEL=y @@ -3558,6 +4067,7 @@ CONFIG_SND_HDA_CODEC_VIA=y CONFIG_SND_HDA_CODEC_ATIHDMI=y CONFIG_SND_HDA_CODEC_NVHDMI=y CONFIG_SND_HDA_CODEC_INTELHDMI=y +CONFIG_SND_HDA_CODEC_CIRRUS=y CONFIG_SND_HDA_CODEC_CONEXANT=y CONFIG_SND_HDA_CODEC_CA0110=y CONFIG_SND_HDA_CODEC_CMEDIA=y @@ -3588,6 +4098,7 @@ CONFIG_SND_SPI=y ## CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_USX2Y=m CONFIG_SND_USB_CAIAQ=m CONFIG_SND_USB_CAIAQ_INPUT=y CONFIG_SND_USB_US122L=m @@ -3600,7 +4111,5 @@ CONFIG_INITRAMFS_SOURCE="" ## ## file: unknown ## -# CONFIG_DYNAMIC_PRINTK_DEBUG is not set -# CONFIG_KPROBES is not set -CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_LBD=y diff --git a/config/defines b/config/defines index b78f391..7381abb 100644 --- a/config/defines +++ b/config/defines @@ -1,11 +1,10 @@ [abi] -abiname: trunk +abiname: 2 [base] arches: alpha amd64 - arm armel hppa i386 @@ -16,26 +15,25 @@ arches: powerpc s390 sparc + sparc64 compiler: gcc-4.3 featuresets: none - openvz vserver xen -[featureset-openvz_base] -enabled: false - [featureset-vserver_base] enabled: false [featureset-xen_base] enabled: false +[description] +part-long-xen: This kernel also runs on a Xen hypervisor. + It supports only unprivileged (domU) operation. + [image] -desc-long-part-xen: This kernel also runs on a Xen hypervisor. - It supports only unpriviledged (domU) operation. -initramfs-generators: initramfs-tools yaird initramfs-fallback +initramfs-generators: initramfs-tools initramfs-fallback type: plain [xen] @@ -44,12 +42,10 @@ versions: [commands-image-initramfs-generators] initramfs-tools: update-initramfs -yaird: mkinitrd.yaird [relations] gcc-4.3: gcc-4.3 initramfs-fallback: linux-initramfs-tool initramfs-tools: initramfs-tools (>= 0.55) util-vserver: util-vserver (>= 0.30.215) -yaird: yaird (>= 0.0.13) diff --git a/config/featureset-openvz/config b/config/featureset-openvz/config deleted file mode 100644 index 16445fc..0000000 --- a/config/featureset-openvz/config +++ /dev/null @@ -1,24 +0,0 @@ -CONFIG_VZ_FAIRSCHED=y -CONFIG_VE=y -CONFIG_VE_CALLS=m -CONFIG_VE_NETDEV=m -CONFIG_VE_ETHDEV=m -CONFIG_VZ_DEV=m -CONFIG_VE_IPTABLES=y -CONFIG_VZ_WDOG=m -CONFIG_VZ_CHECKPOINT=m -CONFIG_SIM_FS=m -CONFIG_VZ_QUOTA=m -# CONFIG_VZ_QUOTA_UNLOAD is not set -CONFIG_VZ_QUOTA_UGID=y -CONFIG_SYSRQ_DEBUG=y -CONFIG_BEANCOUNTERS=y -CONFIG_BC_RSS_ACCOUNTING=y -CONFIG_BC_IO_ACCOUNTING=y -CONFIG_BC_IO_SCHED=y -CONFIG_BC_SWAP_ACCOUNTING=y -CONFIG_BC_PROC=y -# CONFIG_BC_DEBUG is not set - -# buggy -# CONFIG_NF_CONNTRACK_IPV6 is not set diff --git a/config/featureset-openvz/defines b/config/featureset-openvz/defines deleted file mode 100644 index 487133f..0000000 --- a/config/featureset-openvz/defines +++ /dev/null @@ -1,6 +0,0 @@ -[image] -depends: vzctl -desc-long-part-openvz: This kernel includes support for OpenVZ container-based virtualization. -desc-parts: openvz -desc-short-part-openvz: OpenVZ support - diff --git a/config/featureset-vserver/config b/config/featureset-vserver/config index 98eb263..bc74999 100644 --- a/config/featureset-vserver/config +++ b/config/featureset-vserver/config @@ -4,6 +4,11 @@ CONFIG_BLK_DEV_VROOT=y ## +## file: init/Kconfig +## +# CONFIG_CFS_HARD_LIMITS is not set + +## ## file: kernel/vserver/Kconfig ## CONFIG_VSERVER_AUTO_LBACK=y diff --git a/config/featureset-vserver/defines b/config/featureset-vserver/defines index 08d3966..601b968 100644 --- a/config/featureset-vserver/defines +++ b/config/featureset-vserver/defines @@ -1,5 +1,7 @@ +[description] +part-long-vserver: This kernel includes support for Linux-VServer virtualization. +part-short-vserver: Linux-VServer support +parts: vserver + [image] -desc-long-part-vserver: This kernel includes support for Linux-VServer virtualization. -desc-parts: vserver -desc-short-part-vserver: Linux-VServer support recommends: util-vserver diff --git a/config/featureset-xen/defines b/config/featureset-xen/defines index 7365cbf..04c447f 100644 --- a/config/featureset-xen/defines +++ b/config/featureset-xen/defines @@ -1,5 +1,5 @@ -[image] -desc-long-part-xenold: This kernel only runs on a Xen hypervisor. - It supports both priviledged (dom0) and unpriviledged (domU) operation. -desc-parts: xenold -desc-short-part-xenold: oldstyle Xen support +[description] +part-long-xenold: This kernel only runs on a Xen hypervisor. + It supports both privileged (dom0) and unprivileged (domU) operation. +part-short-xenold: oldstyle Xen support +parts: xenold diff --git a/config/hppa/config b/config/hppa/config index 43c7e73..7dadaa2 100644 --- a/config/hppa/config +++ b/config/hppa/config @@ -32,8 +32,6 @@ CONFIG_PARISC_PAGE_SIZE_4KB=y # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set -#. TODO -# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM_SIZE=8192 @@ -147,12 +145,12 @@ CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_ATKBD_HP_KEYCODES=y # CONFIG_KEYBOARD_ATKBD_RDI_KEYCODES is not set -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set CONFIG_KEYBOARD_HIL_OLD=m CONFIG_KEYBOARD_HIL=m +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -171,7 +169,6 @@ CONFIG_MOUSE_PS2=m # CONFIG_MOUSE_LOGIBM is not set # CONFIG_MOUSE_PC110PAD is not set # CONFIG_MOUSE_VSXXXAA is not set -CONFIG_MOUSE_HIL=m ## ## file: drivers/input/serio/Kconfig @@ -211,6 +208,11 @@ CONFIG_I2O_SCSI=m CONFIG_I2O_PROC=m ## +## file: drivers/mfd/Kconfig +## +# CONFIG_AB3100_CORE is not set + +## ## file: drivers/mmc/Kconfig ## # CONFIG_MMC is not set @@ -223,7 +225,6 @@ CONFIG_I2O_PROC=m ## ## file: drivers/net/Kconfig ## -CONFIG_DUMMY=m # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set CONFIG_LASI_82596=m @@ -289,6 +290,8 @@ CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_VIA_RHINE=m # CONFIG_VIA_RHINE_MMIO is not set +# CONFIG_VXGE is not set +# CONFIG_NIU is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set CONFIG_PLIP=m @@ -390,11 +393,6 @@ CONFIG_PDC_CHASSIS_WARN=y CONFIG_PDC_STABLE=y ## -## file: drivers/pci/Kconfig -## -# CONFIG_PCI_DEBUG is not set - -## ## file: drivers/pci/hotplug/Kconfig ## # CONFIG_HOTPLUG_PCI is not set @@ -459,7 +457,6 @@ CONFIG_SCSI_NCR53C8XX_SYNC=20 # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_T128 is not set # CONFIG_SCSI_U14_34F is not set -# CONFIG_SCSI_DEBUG is not set ## ## file: drivers/scsi/megaraid/Kconfig.megaraid @@ -505,17 +502,9 @@ CONFIG_USB=m # CONFIG_USB_USS720 is not set ## -## file: drivers/usb/class/Kconfig -## -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -## ## file: drivers/usb/core/Kconfig ## CONFIG_USB_DEBUG=y -# CONFIG_USB_DEVICEFS is not set -# CONFIG_USB_DYNAMIC_MINORS is not set ## ## file: drivers/usb/host/Kconfig @@ -527,40 +516,6 @@ CONFIG_USB_OHCI_HCD=m # CONFIG_USB_SL811_HCD is not set ## -## file: drivers/usb/image/Kconfig -## -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -## -## file: drivers/usb/misc/Kconfig -## -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -# CONFIG_USB_SISUSBVGA is not set - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set - -## ## file: drivers/video/Kconfig ## CONFIG_FB=y @@ -618,11 +573,6 @@ CONFIG_LOGO_PARISC_CLUT224=y # CONFIG_W1 is not set ## -## file: drivers/watchdog/Kconfig -## -# CONFIG_WATCHDOG is not set - -## ## file: fs/cramfs/Kconfig ## CONFIG_CRAMFS=y @@ -807,3 +757,8 @@ CONFIG_SND_HARMONY=m ## # CONFIG_SND_HDA_INTEL is not set +## +## file: unknown +## +CONFIG_MOUSE_HIL=m + diff --git a/config/hppa/defines b/config/hppa/defines index deac300..e0a8e5a 100644 --- a/config/hppa/defines +++ b/config/hppa/defines @@ -9,22 +9,26 @@ kernel-arch: parisc [image] suggests: palo -[parisc_base] -class: 32-bit PA-RISC +[parisc_description] +hardware: 32-bit PA-RISC -[parisc-smp_base] -class: multiprocessor 32-bit PA-RISC +[parisc-smp_description] +hardware: multiprocessor 32-bit PA-RISC [parisc64_base] cflags: -fno-cse-follow-jumps -class: 64-bit PA-RISC override-host-type: hppa64-linux-gnu +[parisc64_description] +hardware: 64-bit PA-RISC + [parisc64-smp_base] cflags: -fno-cse-follow-jumps -class: multiprocessor 64-bit PA-RISC override-host-type: hppa64-linux-gnu +[parisc64-smp_description] +hardware: multiprocessor 64-bit PA-RISC + [relations] gcc-4.3: gcc-4.3, binutils-hppa64, gcc-4.3-hppa64 diff --git a/config/i386/config b/config/i386/config deleted file mode 100644 index 1b96b34..0000000 --- a/config/i386/config +++ /dev/null @@ -1,1550 +0,0 @@ -## -## file: crypto/Kconfig -## -CONFIG_CRYPTO_CRC32C_INTEL=m - -## -## file: drivers/ata/Kconfig -## -# CONFIG_PATA_CS5535 is not set -# CONFIG_PATA_CS5536 is not set -# CONFIG_PATA_SIS is not set - -## -## file: drivers/atm/Kconfig -## -CONFIG_ATM_DRIVERS=y -CONFIG_ATM_TCP=m -CONFIG_ATM_LANAI=m -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_DEBUG is not set -# CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set -CONFIG_ATM_NICSTAR=m -# CONFIG_ATM_NICSTAR_USE_SUNI is not set -# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set -CONFIG_ATM_IDT77252=m -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set -CONFIG_ATM_IA=m -# CONFIG_ATM_IA_DEBUG is not set -# CONFIG_ATM_FORE200E_USE_TASKLET is not set -CONFIG_ATM_FORE200E_TX_RETRY=16 -CONFIG_ATM_FORE200E_DEBUG=0 -CONFIG_ATM_HE=m -CONFIG_ATM_HE_USE_SUNI=y - -## -## file: drivers/auxdisplay/Kconfig -## -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 -CONFIG_KS0108_DELAY=2 -CONFIG_CFAG12864B=m -CONFIG_CFAG12864B_RATE=20 - -## -## file: drivers/block/Kconfig -## -CONFIG_BLK_DEV_FD=m -CONFIG_BLK_DEV_XD=m -CONFIG_PARIDE=m -CONFIG_BLK_CPQ_DA=m -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_CISS_SCSI_TAPE=y -CONFIG_BLK_DEV_DAC960=m -CONFIG_BLK_DEV_UMEM=m -CONFIG_BLK_DEV_SX8=m -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM_SIZE=8192 -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -## -## file: drivers/block/paride/Kconfig -## -CONFIG_PARIDE_PD=m -CONFIG_PARIDE_PCD=m -CONFIG_PARIDE_PF=m -CONFIG_PARIDE_PT=m -CONFIG_PARIDE_PG=m -CONFIG_PARIDE_ATEN=m -CONFIG_PARIDE_BPCK=m -CONFIG_PARIDE_BPCK6=m -CONFIG_PARIDE_COMM=m -CONFIG_PARIDE_DSTR=m -CONFIG_PARIDE_FIT2=m -CONFIG_PARIDE_FIT3=m -CONFIG_PARIDE_EPAT=m -# CONFIG_PARIDE_EPATC8 is not set -CONFIG_PARIDE_EPIA=m -CONFIG_PARIDE_FRIQ=m -CONFIG_PARIDE_FRPW=m -CONFIG_PARIDE_KBIC=m -CONFIG_PARIDE_KTTI=m -CONFIG_PARIDE_ON20=m -CONFIG_PARIDE_ON26=m - -## -## file: drivers/bluetooth/Kconfig -## -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIDTL1=m -CONFIG_BT_HCIBT3C=m -CONFIG_BT_HCIBLUECARD=m -CONFIG_BT_HCIBTUART=m -CONFIG_BT_HCIVHCI=m - -## -## file: drivers/char/Kconfig -## -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_SERIAL_NONSTANDARD=y -CONFIG_ROCKETPORT=m -CONFIG_CYCLADES=m -# CONFIG_CYZ_INTR is not set -# CONFIG_ESPSERIAL is not set -# CONFIG_ISI is not set -CONFIG_SYNCLINK=m -CONFIG_SYNCLINKMP=m -CONFIG_N_HDLC=m -# CONFIG_RISCOM8 is not set -# CONFIG_SPECIALIX is not set -CONFIG_SX=m -CONFIG_STALDRV=y -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -CONFIG_PPDEV=m -CONFIG_NVRAM=m -CONFIG_DTLK=m -CONFIG_R3964=m -CONFIG_APPLICOM=m -CONFIG_SONYPI=m -CONFIG_MWAVE=m -CONFIG_SCx200_GPIO=m -CONFIG_CS5535_GPIO=m -CONFIG_RAW_DRIVER=m -CONFIG_MAX_RAW_DEVS=256 -CONFIG_HPET=y -CONFIG_HPET_MMAP=y -CONFIG_HANGCHECK_TIMER=m - -## -## file: drivers/char/agp/Kconfig -## -CONFIG_AGP=m -CONFIG_AGP_ALI=m -CONFIG_AGP_ATI=m -CONFIG_AGP_AMD=m -CONFIG_AGP_AMD64=m -CONFIG_AGP_INTEL=m -CONFIG_AGP_NVIDIA=m -CONFIG_AGP_SIS=m -CONFIG_AGP_SWORKS=m -CONFIG_AGP_VIA=m -CONFIG_AGP_EFFICEON=m - -## -## file: drivers/char/ipmi/Kconfig -## -CONFIG_IPMI_HANDLER=m -# CONFIG_IPMI_PANIC_EVENT is not set -CONFIG_IPMI_DEVICE_INTERFACE=m -CONFIG_IPMI_SI=m -CONFIG_IPMI_WATCHDOG=m -CONFIG_IPMI_POWEROFF=m - -## -## file: drivers/cpuidle/Kconfig -## -CONFIG_CPU_IDLE=y - -## -## file: drivers/crypto/Kconfig -## -CONFIG_CRYPTO_DEV_GEODE=m - -## -## file: drivers/dma/Kconfig -## -CONFIG_DMADEVICES=y -CONFIG_INTEL_IOATDMA=m -CONFIG_NET_DMA=y - -## -## file: drivers/firmware/Kconfig -## -CONFIG_EDD=m -# CONFIG_EDD_OFF is not set -CONFIG_EFI_VARS=m -CONFIG_DELL_RBU=m -CONFIG_DCDBAS=m -CONFIG_DMIID=y -CONFIG_ISCSI_IBFT_FIND=y -CONFIG_ISCSI_IBFT=y - -## -## file: drivers/gpu/drm/Kconfig -## -CONFIG_DRM=m -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -CONFIG_DRM_I810=m -## choice: Intel 830M, 845G, 852GM, 855GM, 865G -CONFIG_DRM_I830=m -CONFIG_DRM_I915=m -# CONFIG_DRM_I915_KMS is not set -## end choice -CONFIG_DRM_MGA=m -CONFIG_DRM_SIS=m - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -## -## file: drivers/hwmon/Kconfig -## -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_K8TEMP=m -CONFIG_SENSORS_ASB100=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_FSCHER=m -CONFIG_SENSORS_FSCPOS=m -CONFIG_SENSORS_GL518SM=m -CONFIG_SENSORS_GL520SM=m -CONFIG_SENSORS_IT87=m -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_PC87360=m -CONFIG_SENSORS_PCF8591=m -CONFIG_SENSORS_SIS5595=m -CONFIG_SENSORS_SMSC47M1=m -CONFIG_SENSORS_SMSC47B397=m -CONFIG_SENSORS_VIA686A=m -CONFIG_SENSORS_W83781D=m -CONFIG_SENSORS_W83L785TS=m -CONFIG_SENSORS_W83627HF=m -CONFIG_SENSORS_HDAPS=m - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set - -## -## file: drivers/i2c/busses/Kconfig -## -CONFIG_I2C_ALI1535=m -CONFIG_I2C_ALI1563=m -CONFIG_I2C_ALI15X3=m -CONFIG_I2C_AMD756=m -CONFIG_I2C_AMD756_S4882=m -CONFIG_I2C_AMD8111=m -CONFIG_I2C_I801=m -CONFIG_I2C_PIIX4=m -CONFIG_I2C_NFORCE2=m -CONFIG_I2C_SIS5595=m -CONFIG_I2C_SIS630=m -CONFIG_I2C_SIS96X=m -CONFIG_I2C_VIA=m -CONFIG_I2C_VIAPRO=m -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_VOODOO3=m -CONFIG_I2C_PCA_ISA=m -CONFIG_SCx200_I2C=m -CONFIG_SCx200_I2C_SCL=12 -CONFIG_SCx200_I2C_SDA=13 -CONFIG_SCx200_ACB=m - -## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m - -## -## file: drivers/ide/Kconfig -## -CONFIG_IDE=m -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=m -CONFIG_BLK_DEV_IDECS=m -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -CONFIG_BLK_DEV_IDEACPI=y -CONFIG_IDE_GENERIC=m -CONFIG_BLK_DEV_CMD640=y -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set -CONFIG_BLK_DEV_IDEPNP=y -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=m -CONFIG_BLK_DEV_OPTI621=m -CONFIG_BLK_DEV_RZ1000=m -CONFIG_BLK_DEV_AEC62XX=m -CONFIG_BLK_DEV_ALI15X3=m -CONFIG_BLK_DEV_AMD74XX=m -CONFIG_BLK_DEV_ATIIXP=m -CONFIG_BLK_DEV_CMD64X=m -CONFIG_BLK_DEV_TRIFLEX=m -CONFIG_BLK_DEV_CY82C693=m -CONFIG_BLK_DEV_CS5520=m -CONFIG_BLK_DEV_CS5530=m -CONFIG_BLK_DEV_CS5535=m -CONFIG_BLK_DEV_CS5536=m -CONFIG_BLK_DEV_HPT366=m -CONFIG_BLK_DEV_SC1200=m -CONFIG_BLK_DEV_PIIX=m -CONFIG_BLK_DEV_NS87415=m -CONFIG_BLK_DEV_PDC202XX_OLD=m -CONFIG_BLK_DEV_PDC202XX_NEW=m -CONFIG_BLK_DEV_SVWKS=m -CONFIG_BLK_DEV_SIIMAGE=m -CONFIG_BLK_DEV_SIS5513=m -CONFIG_BLK_DEV_SLC90E66=m -CONFIG_BLK_DEV_TRM290=m -CONFIG_BLK_DEV_VIA82CXXX=m -# CONFIG_BLK_DEV_4DRIVES is not set -# CONFIG_BLK_DEV_ALI14XX is not set -# CONFIG_BLK_DEV_DTC2278 is not set -# CONFIG_BLK_DEV_HT6560B is not set -# CONFIG_BLK_DEV_QD65XX is not set -# CONFIG_BLK_DEV_UMC8672 is not set - -## -## file: drivers/input/gameport/Kconfig -## -CONFIG_GAMEPORT=m -CONFIG_GAMEPORT_NS558=m -CONFIG_GAMEPORT_L4=m -CONFIG_GAMEPORT_EMU10K1=m -CONFIG_GAMEPORT_FM801=m - -## -## file: drivers/input/joystick/Kconfig -## -CONFIG_INPUT_JOYSTICK=y - -## -## file: drivers/input/keyboard/Kconfig -## -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_SUNKBD=m -CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_XTKBD=m -CONFIG_KEYBOARD_NEWTON=m - -## -## file: drivers/input/misc/Kconfig -## -CONFIG_INPUT_MISC=y -CONFIG_INPUT_PCSPKR=m -CONFIG_INPUT_APANEL=m -CONFIG_INPUT_WISTRON_BTNS=m -CONFIG_INPUT_ATLAS_BTNS=m -CONFIG_INPUT_UINPUT=m - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=m -# CONFIG_MOUSE_PS2_OLPC is not set -CONFIG_MOUSE_SERIAL=m -CONFIG_MOUSE_APPLETOUCH=m -CONFIG_MOUSE_BCM5974=m -CONFIG_MOUSE_INPORT=m -# CONFIG_MOUSE_ATIXL is not set -CONFIG_MOUSE_LOGIBM=m -CONFIG_MOUSE_PC110PAD=m -CONFIG_MOUSE_VSXXXAA=m - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=m -CONFIG_SERIO_CT82C710=m -CONFIG_SERIO_PARKBD=m -CONFIG_SERIO_PCIPS2=m -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=m - -## -## file: drivers/input/tablet/Kconfig -## -CONFIG_INPUT_TABLET=y -CONFIG_TABLET_USB_ACECAD=m -CONFIG_TABLET_USB_AIPTEK=m -CONFIG_TABLET_USB_GTCO=m -CONFIG_TABLET_USB_KBTAB=m -CONFIG_TABLET_USB_WACOM=m - -## -## file: drivers/input/touchscreen/Kconfig -## -CONFIG_INPUT_TOUCHSCREEN=y - -## -## file: drivers/isdn/Kconfig -## -CONFIG_ISDN=y -CONFIG_ISDN_I4L=m -CONFIG_ISDN_CAPI=m - -## -## file: drivers/isdn/act2000/Kconfig -## -CONFIG_ISDN_DRV_ACT2000=m - -## -## file: drivers/isdn/capi/Kconfig -## -CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y -CONFIG_ISDN_CAPI_MIDDLEWARE=y -CONFIG_ISDN_CAPI_CAPI20=m -CONFIG_ISDN_CAPI_CAPIFS_BOOL=y -CONFIG_ISDN_CAPI_CAPIDRV=m - -## -## file: drivers/isdn/hardware/avm/Kconfig -## -CONFIG_CAPI_AVM=y -CONFIG_ISDN_DRV_AVMB1_B1ISA=m -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_T1ISA=m -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_AVM_CS=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_AVMB1_C4=m - -## -## file: drivers/isdn/hardware/eicon/Kconfig -## -CONFIG_CAPI_EICON=y -CONFIG_ISDN_DIVAS=m -CONFIG_ISDN_DIVAS_BRIPCI=y -CONFIG_ISDN_DIVAS_PRIPCI=y -CONFIG_ISDN_DIVAS_DIVACAPI=m -CONFIG_ISDN_DIVAS_USERIDI=m -CONFIG_ISDN_DIVAS_MAINT=m - -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_0=y -CONFIG_HISAX_16_3=y -CONFIG_HISAX_TELESPCI=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_AVM_A1=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_IX1MICROR2=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_ASUSCOM=y -CONFIG_HISAX_TELEINT=y -CONFIG_HISAX_HFCS=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_SPORTSTER=y -CONFIG_HISAX_MIC=y -CONFIG_HISAX_NETJET=y -CONFIG_HISAX_NETJET_U=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_ISURF=y -CONFIG_HISAX_HSTSAPHIR=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_HFC_PCI=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -CONFIG_HISAX_ENTERNOW_PCI=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_SEDLBAUER_CS=m -CONFIG_HISAX_ELSA_CS=m -CONFIG_HISAX_AVM_A1_CS=m -CONFIG_HISAX_TELES_CS=m -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y -# CONFIG_ISDN_DIVERSION is not set - -## -## file: drivers/isdn/icn/Kconfig -## -CONFIG_ISDN_DRV_ICN=m - -## -## file: drivers/isdn/pcbit/Kconfig -## -CONFIG_ISDN_DRV_PCBIT=m - -## -## file: drivers/isdn/sc/Kconfig -## -CONFIG_ISDN_DRV_SC=m - -## -## file: drivers/leds/Kconfig -## -CONFIG_LEDS_WRAP=m -CONFIG_LEDS_CLEVO_MAIL=m - -## -## file: drivers/lguest/Kconfig -## -CONFIG_LGUEST=m - -## -## file: drivers/macintosh/Kconfig -## -# CONFIG_MACINTOSH_DRIVERS is not set - -## -## file: drivers/media/Kconfig -## -CONFIG_DVB_CORE=m - -## -## file: drivers/media/radio/Kconfig -## -CONFIG_RADIO_CADET=m -CONFIG_RADIO_RTRACK=m -CONFIG_RADIO_RTRACK2=m -CONFIG_RADIO_AZTECH=m -CONFIG_RADIO_GEMTEK=m -CONFIG_RADIO_GEMTEK_PCI=m -CONFIG_RADIO_MAXIRADIO=m -CONFIG_RADIO_MAESTRO=m -CONFIG_RADIO_SF16FMI=m -CONFIG_RADIO_SF16FMR2=m -CONFIG_RADIO_TERRATEC=m -CONFIG_RADIO_TRUST=m -CONFIG_RADIO_TYPHOON=m -CONFIG_RADIO_TYPHOON_PROC_FS=y -CONFIG_RADIO_ZOLTRIX=m -CONFIG_USB_DSBR=m - -## -## file: drivers/message/i2o/Kconfig -## -CONFIG_I2O=m -CONFIG_I2O_CONFIG=m -CONFIG_I2O_BLOCK=m -CONFIG_I2O_SCSI=m -CONFIG_I2O_PROC=m - -## -## file: drivers/misc/Kconfig -## -CONFIG_IBM_ASM=m -CONFIG_PHANTOM=m -CONFIG_HP_ILO=m -CONFIG_DELL_LAPTOP=m - -## -## file: drivers/mmc/Kconfig -## -CONFIG_MMC=m -# CONFIG_MMC_DEBUG is not set - -## -## file: drivers/mmc/card/Kconfig -## -CONFIG_MMC_BLOCK=m - -## -## file: drivers/mtd/Kconfig -## -CONFIG_MTD=m -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_CONCAT=m -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=y -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -CONFIG_MTD_CHAR=m -CONFIG_MTD_BLOCK=m -CONFIG_MTD_BLOCK_RO=m -CONFIG_FTL=m -CONFIG_NFTL=m -CONFIG_NFTL_RW=y -CONFIG_INFTL=m - -## -## file: drivers/mtd/chips/Kconfig -## -CONFIG_MTD_CFI=m -CONFIG_MTD_JEDECPROBE=m -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=m -CONFIG_MTD_CFI_AMDSTD=m -CONFIG_MTD_CFI_STAA=m -CONFIG_MTD_RAM=m -CONFIG_MTD_ROM=m -CONFIG_MTD_ABSENT=m - -## -## file: drivers/mtd/devices/Kconfig -## -CONFIG_MTD_PMC551=m -# CONFIG_MTD_PMC551_BUGFIX is not set -# CONFIG_MTD_PMC551_DEBUG is not set -CONFIG_MTD_SLRAM=m -CONFIG_MTD_PHRAM=m -CONFIG_MTD_MTDRAM=m -CONFIG_MTDRAM_TOTAL_SIZE=4096 -CONFIG_MTDRAM_ERASE_SIZE=128 -CONFIG_MTD_BLOCK2MTD=m -CONFIG_MTD_DOC2000=m -CONFIG_MTD_DOC2001=m -CONFIG_MTD_DOC2001PLUS=m -# CONFIG_MTD_DOCPROBE_ADVANCED is not set -CONFIG_MTD_DOCPROBE_ADDRESS=0 - -## -## file: drivers/mtd/maps/Kconfig -## -CONFIG_MTD_COMPLEX_MAPPINGS=y -CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_COMPAT is not set -CONFIG_MTD_PHYSMAP_START=0x8000000 -CONFIG_MTD_PHYSMAP_LEN=0x4000000 -CONFIG_MTD_PHYSMAP_BANKWIDTH=2 -CONFIG_MTD_SC520CDP=m -CONFIG_MTD_NETSC520=m -CONFIG_MTD_TS5500=m -CONFIG_MTD_SBC_GXX=m -CONFIG_MTD_SCx200_DOCFLASH=m -# CONFIG_MTD_AMD76XROM is not set -# CONFIG_MTD_ICHXROM is not set -# CONFIG_MTD_SCB2_FLASH is not set -CONFIG_MTD_NETtel=m -CONFIG_MTD_DILNETPC=m -CONFIG_MTD_DILNETPC_BOOTSIZE=0x80000 -# CONFIG_MTD_L440GX is not set -CONFIG_MTD_PCI=m -CONFIG_MTD_PCMCIA=m -# CONFIG_MTD_PCMCIA_ANONYMOUS is not set - -## -## file: drivers/mtd/nand/Kconfig -## -CONFIG_MTD_NAND=m -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -CONFIG_MTD_NAND_DISKONCHIP=m -# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set -CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 -# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set -CONFIG_MTD_NAND_PLATFORM=m - -## -## file: drivers/net/Kconfig -## -CONFIG_DUMMY=m -CONFIG_NET_SB1000=m -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_EL1=m -CONFIG_EL2=m -CONFIG_ELPLUS=m -CONFIG_EL16=m -CONFIG_EL3=m -CONFIG_3C515=m -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_LANCE=m -CONFIG_NET_VENDOR_SMC=y -CONFIG_WD80x3=m -CONFIG_ULTRA=m -CONFIG_SMC9194=m -CONFIG_NET_VENDOR_RACAL=y -CONFIG_NI52=m -CONFIG_NI65=m -CONFIG_AT1700=m -CONFIG_DEPCA=m -CONFIG_HP100=m -CONFIG_NET_ISA=y -CONFIG_E2100=m -CONFIG_EWRK3=m -CONFIG_EEXPRESS=m -CONFIG_EEXPRESS_PRO=m -CONFIG_HPLAN_PLUS=m -CONFIG_HPLAN=m -CONFIG_LP486E=m -CONFIG_ETH16I=m -CONFIG_NE2000=m -CONFIG_ZNET=m -CONFIG_SEEQ8005=m -CONFIG_NET_PCI=y -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_AC3200=m -CONFIG_APRICOT=m -CONFIG_B44=m -CONFIG_FORCEDETH=m -CONFIG_CS89x0=m -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -CONFIG_8139TOO_PIO=y -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_TLAN=m -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_ATP=m -CONFIG_DE600=m -CONFIG_DE620=m -CONFIG_FDDI=y -CONFIG_SKFP=m -CONFIG_HIPPI=y -CONFIG_ROADRUNNER=m -# CONFIG_ROADRUNNER_LARGE_RINGS is not set -CONFIG_PLIP=m -CONFIG_NET_FC=y -# CONFIG_NETPOLL_TRAP is not set - -## -## file: drivers/net/arcnet/Kconfig -## -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -CONFIG_ARCNET_1051=m -CONFIG_ARCNET_RAW=m -CONFIG_ARCNET_CAP=m -CONFIG_ARCNET_COM90xx=m -CONFIG_ARCNET_COM90xxIO=m -CONFIG_ARCNET_RIM_I=m -CONFIG_ARCNET_COM20020=m -CONFIG_ARCNET_COM20020_ISA=m -CONFIG_ARCNET_COM20020_PCI=m - -## -## file: drivers/net/hamradio/Kconfig -## -CONFIG_BPQETHER=m -CONFIG_SCC=m -# CONFIG_SCC_DELAY is not set -# CONFIG_SCC_TRXECHO is not set -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_BAYCOM_EPP=m -CONFIG_YAM=m - -## -## file: drivers/net/irda/Kconfig -## -CONFIG_IRTTY_SIR=m -CONFIG_USB_IRDA=m -CONFIG_SIGMATEL_FIR=m -CONFIG_NSC_FIR=m -CONFIG_WINBOND_FIR=m -CONFIG_TOSHIBA_FIR=m -CONFIG_SMC_IRCC_FIR=m -CONFIG_ALI_FIR=m -CONFIG_VLSI_FIR=m -CONFIG_VIA_FIR=m - -## -## file: drivers/net/pcmcia/Kconfig -## -CONFIG_NET_PCMCIA=y -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m -CONFIG_ARCNET_COM20020_CS=m - -## -## file: drivers/net/tulip/Kconfig -## -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -CONFIG_DE4X5=m -CONFIG_WINBOND_840=m -CONFIG_DM9102=m -CONFIG_PCMCIA_XIRCOM=m - -## -## file: drivers/net/wan/Kconfig -## -CONFIG_WAN=y -CONFIG_HOSTESS_SV11=m -CONFIG_COSA=m -CONFIG_LANMEDIA=m -CONFIG_SEALEVEL_4021=m -CONFIG_PCI200SYN=m -CONFIG_WANXL=m -CONFIG_PC300=m -CONFIG_PC300_MLPPP=y -CONFIG_N2=m -CONFIG_C101=m -CONFIG_FARSYNC=m -CONFIG_DSCC4=m -CONFIG_DSCC4_PCISYNC=y -CONFIG_DSCC4_PCI_RST=y -CONFIG_DLCI=m -CONFIG_DLCI_MAX=8 -CONFIG_SDLA=m -CONFIG_CYCLADES_SYNC=m -CONFIG_CYCLOMX_X25=y -CONFIG_LAPBETHER=m -CONFIG_X25_ASY=m -CONFIG_SBNI=m -# CONFIG_SBNI_MULTILINE is not set - -## -## file: drivers/net/wireless/Kconfig -## -CONFIG_WLAN_PRE80211=y -CONFIG_STRIP=m -CONFIG_ARLAN=m -CONFIG_WAVELAN=m -CONFIG_PCMCIA_WAVELAN=m -CONFIG_PCMCIA_NETWAVE=m -CONFIG_WLAN_80211=y -CONFIG_PCMCIA_RAYCS=m -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m -CONFIG_PCMCIA_ATMEL=m -CONFIG_AIRO_CS=m -CONFIG_PCMCIA_WL3501=m -CONFIG_USB_ZD1201=m - -## -## file: drivers/net/wireless/ipw2x00/Kconfig -## -CONFIG_IPW2100=m -CONFIG_IPW2100_MONITOR=y -# CONFIG_IPW2100_DEBUG is not set - -## -## file: drivers/net/wireless/orinoco/Kconfig -## -CONFIG_HERMES=m -CONFIG_PLX_HERMES=m -CONFIG_TMD_HERMES=m -CONFIG_PCI_HERMES=m -CONFIG_PCMCIA_HERMES=m - -## -## file: drivers/pci/Kconfig -## -CONFIG_PCI_MSI=y -# CONFIG_PCI_DEBUG is not set -CONFIG_HT_IRQ=y - -## -## file: drivers/pci/hotplug/Kconfig -## -CONFIG_HOTPLUG_PCI=m -CONFIG_HOTPLUG_PCI_FAKE=m -CONFIG_HOTPLUG_PCI_COMPAQ=m -CONFIG_HOTPLUG_PCI_IBM=m -CONFIG_HOTPLUG_PCI_ACPI=m -CONFIG_HOTPLUG_PCI_ACPI_IBM=m -CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m -CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m -CONFIG_HOTPLUG_PCI_SHPC=m - -## -## file: drivers/pci/pcie/Kconfig -## -CONFIG_PCIEPORTBUS=y -CONFIG_HOTPLUG_PCI_PCIE=m - -## -## file: drivers/pci/pcie/aer/Kconfig -## -CONFIG_PCIEAER=y - -## -## file: drivers/pcmcia/Kconfig -## -CONFIG_PCCARD=m -# CONFIG_PCMCIA_DEBUG is not set -CONFIG_PCMCIA=m -CONFIG_CARDBUS=y -CONFIG_YENTA=m -CONFIG_PD6729=m -CONFIG_I82092=m -CONFIG_I82365=m -CONFIG_TCIC=m - -## -## file: drivers/platform/x86/Kconfig -## -CONFIG_TC1100_WMI=m - -## -## file: drivers/pnp/Kconfig -## -CONFIG_PNP=y - -## -## file: drivers/pnp/isapnp/Kconfig -## -CONFIG_ISAPNP=y - -## -## file: drivers/pnp/pnpbios/Kconfig -## -CONFIG_PNPBIOS=y -CONFIG_PNPBIOS_PROC_FS=y - -## -## file: drivers/power/Kconfig -## -CONFIG_POWER_SUPPLY=m -# CONFIG_POWER_SUPPLY_DEBUG is not set -CONFIG_PDA_POWER=m -CONFIG_BATTERY_DS2760=m - -## -## file: drivers/rtc/Kconfig -## -CONFIG_RTC_DRV_CMOS=y - -## -## file: drivers/scsi/Kconfig -## -CONFIG_SCSI_DPT_I2O=m -CONFIG_SCSI_IN2000=m -CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_BUSLOGIC=m -# CONFIG_SCSI_FLASHPOINT is not set -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_DTC3280=m -CONFIG_SCSI_EATA=m -CONFIG_SCSI_EATA_TAGGED_QUEUE=y -CONFIG_SCSI_EATA_LINKED_COMMANDS=y -CONFIG_SCSI_EATA_MAX_TAGS=16 -CONFIG_SCSI_EATA_PIO=m -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_GDTH=m -# CONFIG_SCSI_GENERIC_NCR5380 is not set -# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set -# CONFIG_SCSI_GENERIC_NCR53C400 is not set -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -# CONFIG_SCSI_INIA100 is not set -CONFIG_SCSI_NCR53C406A=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_IPR=m -# CONFIG_SCSI_IPR_TRACE is not set -# CONFIG_SCSI_IPR_DUMP is not set -CONFIG_SCSI_PAS16=m -CONFIG_SCSI_QLOGIC_FAS=m -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_SYM53C416=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m -CONFIG_SCSI_T128=m -CONFIG_SCSI_U14_34F=m -CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y -CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y -CONFIG_SCSI_U14_34F_MAX_TAGS=8 -CONFIG_SCSI_ULTRASTOR=m -CONFIG_SCSI_NSP32=m -CONFIG_SCSI_DEBUG=m - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m - -## -## file: drivers/scsi/pcmcia/Kconfig -## -CONFIG_PCMCIA_AHA152X=m -CONFIG_PCMCIA_FDOMAIN=m -CONFIG_PCMCIA_NINJA_SCSI=m -CONFIG_PCMCIA_QLOGIC=m -CONFIG_PCMCIA_SYM53C500=m - -## -## file: drivers/serial/Kconfig -## -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_CS=m -CONFIG_SERIAL_8250_NR_UARTS=32 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_EXAR_ST16C554=m -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_JSM=m - -## -## file: drivers/telephony/Kconfig -## -CONFIG_PHONE=m -CONFIG_PHONE_IXJ=m -CONFIG_PHONE_IXJ_PCMCIA=m - -## -## file: drivers/thermal/Kconfig -## -CONFIG_THERMAL=m -CONFIG_THERMAL_HWMON=y - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=m -CONFIG_USB_USS720=m - -## -## file: drivers/usb/atm/Kconfig -## -CONFIG_USB_ATM=m -CONFIG_USB_SPEEDTOUCH=m - -## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_SUSPEND=y - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_OHCI_HCD=m -# CONFIG_USB_OHCI_HCD_SSB is not set -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_SL811_HCD=m -CONFIG_USB_SL811_CS=m - -## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_RIO500=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_LED=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_TEST=m - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y - -## -## file: drivers/video/Kconfig -## -CONFIG_VIDEO_OUTPUT_CONTROL=m -CONFIG_FB=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -CONFIG_FB_PM2_FIFO_DISCONNECT=y -CONFIG_FB_CYBER2000=m -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -CONFIG_FB_VGA16=m -CONFIG_FB_UVESA=m -CONFIG_FB_VESA=y -CONFIG_FB_EFI=y -CONFIG_FB_N411=m -CONFIG_FB_HGA=m -# CONFIG_FB_HGA_ACCEL is not set -CONFIG_FB_S1D13XXX=m -CONFIG_FB_NVIDIA=m -CONFIG_FB_NVIDIA_I2C=y -CONFIG_FB_NVIDIA_BACKLIGHT=y -# CONFIG_FB_RIVA is not set -# CONFIG_FB_RIVA_I2C is not set -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_I810=m -# CONFIG_FB_I810_GTF is not set -CONFIG_FB_LE80578=m -CONFIG_FB_CARILLO_RANCH=m -CONFIG_FB_INTEL=m -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -CONFIG_FB_MATROX_I2C=m -CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_MATROX_MULTIHEAD=y -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -CONFIG_FB_RADEON_BACKLIGHT=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY128_BACKLIGHT=y -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -CONFIG_FB_ATY_GENERIC_LCD=y -CONFIG_FB_ATY_GX=y -CONFIG_FB_ATY_BACKLIGHT=y -CONFIG_FB_SAVAGE=m -CONFIG_FB_SAVAGE_I2C=y -# CONFIG_FB_SAVAGE_ACCEL is not set -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_VOODOO1=m -CONFIG_FB_TRIDENT=m -CONFIG_FB_VIRTUAL=m - -## -## file: drivers/video/backlight/Kconfig -## -CONFIG_BACKLIGHT_PROGEAR=m - -## -## file: drivers/video/console/Kconfig -## -CONFIG_VGA_CONSOLE=y -CONFIG_MDA_CONSOLE=m -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -## -## file: drivers/video/geode/Kconfig -## -CONFIG_FB_GEODE=y -CONFIG_FB_GEODE_LX=m -CONFIG_FB_GEODE_GX=m -CONFIG_FB_GEODE_GX1=m - -## -## file: drivers/video/logo/Kconfig -## -# CONFIG_LOGO is not set - -## -## file: drivers/watchdog/Kconfig -## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_SOFT_WATCHDOG=m -CONFIG_ACQUIRE_WDT=m -CONFIG_ADVANTECH_WDT=m -CONFIG_ALIM1535_WDT=m -CONFIG_ALIM7101_WDT=m -CONFIG_SC520_WDT=m -CONFIG_EUROTECH_WDT=m -CONFIG_IB700_WDT=m -CONFIG_IBMASR=m -CONFIG_WAFER_WDT=m -CONFIG_I6300ESB_WDT=m -CONFIG_IT8712F_WDT=m -CONFIG_HP_WATCHDOG=m -CONFIG_SC1200_WDT=m -CONFIG_SCx200_WDT=m -CONFIG_60XX_WDT=m -CONFIG_SBC8360_WDT=m -CONFIG_SBC7240_WDT=m -CONFIG_CPU5_WDT=m -CONFIG_W83627HF_WDT=m -CONFIG_W83877F_WDT=m -CONFIG_W83977F_WDT=m -CONFIG_MACHZ_WDT=m -CONFIG_PCWATCHDOG=m -CONFIG_MIXCOMWD=m -CONFIG_WDT=m -CONFIG_PCIPCWATCHDOG=m -CONFIG_WDTPCI=m -CONFIG_WDT_501_PCI=y -CONFIG_USBPCWATCHDOG=m - -## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_AOUT=m - -## -## file: fs/partitions/Kconfig -## -CONFIG_ACORN_PARTITION=y -# CONFIG_ACORN_PARTITION_CUMANA is not set -# CONFIG_ACORN_PARTITION_EESOX is not set -CONFIG_ACORN_PARTITION_ICS=y -# CONFIG_ACORN_PARTITION_ADFS is not set -# CONFIG_ACORN_PARTITION_POWERTEC is not set -CONFIG_ACORN_PARTITION_RISCIX=y -CONFIG_OSF_PARTITION=y -CONFIG_AMIGA_PARTITION=y -CONFIG_ATARI_PARTITION=y -CONFIG_MAC_PARTITION=y -CONFIG_BSD_DISKLABEL=y -CONFIG_MINIX_SUBPARTITION=y -CONFIG_SOLARIS_X86_PARTITION=y -CONFIG_UNIXWARE_DISKLABEL=y -CONFIG_LDM_PARTITION=y -# CONFIG_LDM_DEBUG is not set -CONFIG_SGI_PARTITION=y -CONFIG_ULTRIX_PARTITION=y -CONFIG_SUN_PARTITION=y -CONFIG_EFI_PARTITION=y - -## -## file: kernel/trace/Kconfig -## -# CONFIG_MMIOTRACE is not set - -## -## file: lib/Kconfig.debug -## -# CONFIG_DEBUG_SHIRQ is not set -# CONFIG_FRAME_POINTER is not set -# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set - -## -## file: mm/Kconfig.debug -## -# CONFIG_DEBUG_PAGEALLOC is not set - -## -## file: net/atm/Kconfig -## -CONFIG_ATM=m -CONFIG_ATM_CLIP=m -# CONFIG_ATM_CLIP_NO_ICMP is not set -CONFIG_ATM_LANE=m -CONFIG_ATM_MPOA=m -CONFIG_ATM_BR2684=m -# CONFIG_ATM_BR2684_IPFILTER is not set - -## -## file: net/ax25/Kconfig -## -CONFIG_HAMRADIO=y -CONFIG_AX25=m -# CONFIG_AX25_DAMA_SLAVE is not set -CONFIG_NETROM=m -CONFIG_ROSE=m - -## -## file: net/decnet/Kconfig -## -CONFIG_DECNET=m -# CONFIG_DECNET_ROUTER is not set - -## -## file: net/decnet/netfilter/Kconfig -## -CONFIG_DECNET_NF_GRABULATOR=m - -## -## file: net/econet/Kconfig -## -CONFIG_ECONET=m -CONFIG_ECONET_AUNUDP=y -CONFIG_ECONET_NATIVE=y - -## -## file: net/ipx/Kconfig -## -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set - -## -## file: net/irda/Kconfig -## -CONFIG_IRDA=m -# CONFIG_IRDA_ULTRA is not set -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -# CONFIG_IRDA_DEBUG is not set - -## -## file: net/irda/ircomm/Kconfig -## -CONFIG_IRCOMM=m - -## -## file: net/irda/irlan/Kconfig -## -CONFIG_IRLAN=m - -## -## file: net/irda/irnet/Kconfig -## -CONFIG_IRNET=m - -## -## file: net/lapb/Kconfig -## -CONFIG_LAPB=m - -## -## file: net/wanrouter/Kconfig -## -CONFIG_WAN_ROUTER=m - -## -## file: net/x25/Kconfig -## -CONFIG_X25=m - -## -## file: sound/drivers/Kconfig -## -CONFIG_SND_DUMMY=m -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_MPU401=m - -## -## file: sound/isa/Kconfig -## -CONFIG_SND_ISA=y -CONFIG_SND_ADLIB=m -CONFIG_SND_AD1816A=m -CONFIG_SND_AD1848=m -CONFIG_SND_ALS100=m -CONFIG_SND_AZT2320=m -CONFIG_SND_CMI8330=m -CONFIG_SND_CS4231=m -CONFIG_SND_CS4236=m -CONFIG_SND_DT019X=m -CONFIG_SND_ES968=m -CONFIG_SND_ES1688=m -CONFIG_SND_ES18XX=m -CONFIG_SND_SC6000=m -CONFIG_SND_GUSCLASSIC=m -CONFIG_SND_GUSEXTREME=m -CONFIG_SND_GUSMAX=m -CONFIG_SND_INTERWAVE=m -CONFIG_SND_INTERWAVE_STB=m -CONFIG_SND_OPL3SA2=m -CONFIG_SND_OPTI92X_AD1848=m -CONFIG_SND_OPTI92X_CS4231=m -CONFIG_SND_OPTI93X=m -CONFIG_SND_MIRO=m -CONFIG_SND_SB8=m -CONFIG_SND_SB16=m -CONFIG_SND_SBAWE=m -CONFIG_SND_SB16_CSP=y -CONFIG_SND_SGALAXY=m -CONFIG_SND_SSCAPE=m -CONFIG_SND_WAVEFRONT=m - -## -## file: sound/oss/Kconfig -## -# CONFIG_SOUND_MSNDCLAS is not set -# CONFIG_SOUND_MSNDPIN is not set -CONFIG_SOUND_OSS=m -# CONFIG_SOUND_TRACEINIT is not set -# CONFIG_SOUND_DMAP is not set -CONFIG_SOUND_SSCAPE=m -CONFIG_SOUND_VMIDI=m -CONFIG_SOUND_TRIX=m -CONFIG_SOUND_MSS=m -CONFIG_SOUND_MPU401=m -CONFIG_SOUND_PAS=m -CONFIG_SOUND_PSS=m -CONFIG_PSS_MIXER=y -CONFIG_SOUND_SB=m -CONFIG_SOUND_YM3812=m -CONFIG_SOUND_UART6850=m -CONFIG_SOUND_AEDSP16=m -CONFIG_SC6600=y -CONFIG_SC6600_JOY=y -CONFIG_SC6600_CDROM=4 -CONFIG_SC6600_CDROMBASE=0x0 -CONFIG_SOUND_KAHLUA=m - -## -## file: sound/pci/Kconfig -## -CONFIG_SND_ALS4000=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_CS5535AUDIO=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_HDSP=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SIS7019=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m - -## -## file: sound/pci/hda/Kconfig -## -CONFIG_SND_HDA_INTEL=m - -## -## file: sound/usb/Kconfig -## -CONFIG_SND_USB_USX2Y=m - diff --git a/config/i386/defines b/config/i386/defines index 38fba75..461ec99 100644 --- a/config/i386/defines +++ b/config/i386/defines @@ -1,6 +1,5 @@ [base] featuresets: - openvz vserver xen flavours: @@ -13,45 +12,42 @@ kernel-arch: x86 [image] configs: kernelarch-x86/config - i386/config suggests: grub | lilo -[486_base] -class: x86 -longclass: x86 and compatible +[486_description] +hardware: old PCs +hardware-long: PCs with a 486, Pentium or compatible processor [486_image] configs: kernelarch-x86/config-arch-32 -[686_base] -class: PPro/Celeron/PII/PIII/P4 -longclass: Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4 +[686_description] +hardware: modern PCs +hardware-long: PCs with Intel Pentium Pro/II/III/4/4M/D/M, Xeon, Celeron, Core or Atom; AMD K6, Geode LX/NX, Athlon (K7), Duron, Opteron, Sempron, Turion or Phenom; Transmeta Efficeon; VIA C3 "Nehemiah" or C7 processors [686_image] configs: kernelarch-x86/config-arch-32 recommends: libc6-i686 -[686-bigmem_base] -class: PPro/Celeron/PII/PIII/P4 -longclass: Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4 with 4-64G RAM +[686-bigmem_description] +hardware: PCs with 4GB+ RAM +hardware-long: PCs with 4-64GB RAM, using PAE (Physical Address Extension) +parts: xen [686-bigmem_image] configs: kernelarch-x86/config-arch-32 -desc-parts: xen recommends: libc6-i686 -[amd64_base] -class: AMD64 -longclass: all 64bit single- and multiprocessor AMD and Intel +[amd64_description] +hardware: 64-bit PCs +hardware-long: PCs with AMD64 or Intel 64 processors +parts: xen [amd64_image] configs: kernelarch-x86/config-arch-64 - amd64/config - amd64/config.amd64 -desc-parts: xen recommends: libc6-i686 diff --git a/config/i386/none/config.686-bigmem b/config/i386/none/config.686-bigmem index 37fbeb6..2532f45 100644 --- a/config/i386/none/config.686-bigmem +++ b/config/i386/none/config.686-bigmem @@ -59,11 +59,6 @@ CONFIG_I2C_STUB=m # CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set ## -## file: drivers/video/Kconfig -## -CONFIG_XEN_FBDEV_FRONTEND=m - -## ## file: lib/Kconfig.debug ## # CONFIG_DEBUG_HIGHMEM is not set diff --git a/config/i386/openvz/defines b/config/i386/openvz/defines index fc159f6..28dd509 100644 --- a/config/i386/openvz/defines +++ b/config/i386/openvz/defines @@ -4,6 +4,5 @@ flavours: [686_image] configs: - i386/config.686-bigmem -desc-parts: xen + i386/none/config.686-bigmem diff --git a/config/i386/vserver/defines b/config/i386/vserver/defines index c27b9b6..8ac71f5 100644 --- a/config/i386/vserver/defines +++ b/config/i386/vserver/defines @@ -6,3 +6,11 @@ flavours: [image] recommends: util-vserver, libc6-i686 +[686_image] +configs: + i386/none/config.686 + +[686-bigmem_image] +configs: + i386/none/config.686-bigmem + diff --git a/config/i386/xen/defines b/config/i386/xen/defines index 8e66961..059c893 100644 --- a/config/i386/xen/defines +++ b/config/i386/xen/defines @@ -12,13 +12,8 @@ flavours: i386 amd64 -[686_base] -class: i686 -longclass: i686 and compatible - [686_image] configs: - i386/config.686-bigmem - i386/xen/config + i386/none/config.686-bigmem recommends: libc6-xen diff --git a/config/ia64/config b/config/ia64/config index abd7662..3d028ec 100644 --- a/config/ia64/config +++ b/config/ia64/config @@ -15,7 +15,6 @@ CONFIG_IA64_MCA_RECOVERY=m CONFIG_PERFMON=y CONFIG_IA64_PALINFO=m CONFIG_KEXEC=y -CONFIG_HOTPLUG_CPU=y CONFIG_CRASH_DUMP=y ## @@ -98,7 +97,6 @@ CONFIG_RAW_DRIVER=m CONFIG_MAX_RAW_DEVS=256 CONFIG_HPET=y # CONFIG_HPET_MMAP is not set -CONFIG_HANGCHECK_TIMER=m CONFIG_MMTIMER=m ## @@ -138,12 +136,6 @@ CONFIG_DRM_MGA=m CONFIG_DRM_SIS=m ## -## file: drivers/hid/Kconfig -## -# CONFIG_LOGITECH_FF is not set -# CONFIG_THRUSTMASTER_FF is not set - -## ## file: drivers/hid/usbhid/Kconfig ## CONFIG_USB_HID=m @@ -161,8 +153,6 @@ CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_FSCHER=m -CONFIG_SENSORS_FSCPOS=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_IT87=m @@ -222,11 +212,6 @@ CONFIG_I2C_STUB=m CONFIG_SCx200_ACB=m ## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m - -## ## file: drivers/ide/Kconfig ## CONFIG_IDE=m @@ -290,10 +275,10 @@ CONFIG_INPUT_JOYSTICK=y ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_XTKBD=m CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m ## ## file: drivers/input/misc/Kconfig @@ -521,11 +506,6 @@ CONFIG_PCMCIA_WL3501=m CONFIG_USB_ZD1201=m ## -## file: drivers/net/wireless/hostap/Kconfig -## -CONFIG_HOSTAP_CS=m - -## ## file: drivers/net/wireless/ipw2x00/Kconfig ## CONFIG_IPW2100=m @@ -542,26 +522,11 @@ CONFIG_PCMCIA_HERMES=m CONFIG_PCMCIA_SPECTRUM=m ## -## file: drivers/pci/Kconfig -## -CONFIG_PCI_MSI=y - -## ## file: drivers/pci/hotplug/Kconfig ## CONFIG_HOTPLUG_PCI=m ## -## file: drivers/pci/pcie/Kconfig -## -CONFIG_PCIEPORTBUS=y - -## -## file: drivers/pci/pcie/aer/Kconfig -## -CONFIG_PCIEAER=y - -## ## file: drivers/pcmcia/Kconfig ## CONFIG_PCCARD=m @@ -651,20 +616,6 @@ CONFIG_USB=m CONFIG_USB_USS720=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_SUSPEND is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -675,49 +626,6 @@ CONFIG_USB_SL811_HCD=m CONFIG_USB_SL811_CS=m ## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_RIO500=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_LED=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_TEST=m - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/serial/Kconfig -## -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y -CONFIG_USB_LIBUSUAL=y - -## ## file: drivers/video/Kconfig ## CONFIG_FB=y @@ -741,7 +649,6 @@ CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_MATROX_MULTIHEAD=y CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y # CONFIG_FB_RADEON_DEBUG is not set @@ -780,11 +687,6 @@ CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_CLUT224=y ## -## file: drivers/watchdog/Kconfig -## -# CONFIG_WATCHDOG is not set - -## ## file: fs/partitions/Kconfig ## CONFIG_ACORN_PARTITION=y @@ -810,11 +712,6 @@ CONFIG_SUN_PARTITION=y CONFIG_EFI_PARTITION=y ## -## file: mm/Kconfig -## -CONFIG_MIGRATION=y - -## ## file: net/ax25/Kconfig ## CONFIG_HAMRADIO=y @@ -843,9 +740,9 @@ CONFIG_IRLAN=m CONFIG_IRNET=m ## -## file: sound/Kconfig +## file: security/Kconfig ## -CONFIG_SOUND=y +CONFIG_LSM_MMAP_MIN_ADDR=65536 ## ## file: sound/drivers/Kconfig @@ -857,17 +754,6 @@ CONFIG_SND_SERIAL_U16550=m CONFIG_SND_MPU401=m ## -## file: sound/oss/Kconfig -## -CONFIG_SOUND_MSNDCLAS=m -CONFIG_MSNDCLAS_INIT_FILE="m" -CONFIG_MSNDCLAS_PERM_FILE="m" -CONFIG_SOUND_MSNDPIN=m -CONFIG_MSNDPIN_INIT_FILE="m" -CONFIG_MSNDPIN_PERM_FILE="m" -# CONFIG_SOUND_OSS is not set - -## ## file: sound/pci/Kconfig ## CONFIG_SND_ALS4000=m diff --git a/config/ia64/defines b/config/ia64/defines index 217e264..6bf211e 100644 --- a/config/ia64/defines +++ b/config/ia64/defines @@ -9,8 +9,8 @@ kernel-arch: ia64 [image] suggests: elilo, fdutils -[itanium_base] -class: Itanium +[itanium_description] +hardware: Itanium -[mckinley_base] -class: Itanium II +[mckinley_description] +hardware: Itanium II diff --git a/config/kernelarch-x86/config b/config/kernelarch-x86/config index c9ca7be..601f14d 100644 --- a/config/kernelarch-x86/config +++ b/config/kernelarch-x86/config @@ -3,12 +3,13 @@ ## CONFIG_OPROFILE=m CONFIG_OPROFILE_IBS=y +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +# CONFIG_KPROBES is not set ## ## file: arch/x86/Kconfig ## CONFIG_SPARSE_IRQ=y -CONFIG_NUMA_MIGRATE_IRQ_DESC=y CONFIG_X86_MPPARSE=y # CONFIG_X86_EXTENDED_PLATFORM is not set CONFIG_SCHED_OMIT_FRAME_POINTER=y @@ -24,14 +25,16 @@ CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y CONFIG_X86_MCE=y -# CONFIG_X86_MCE_INJECT is not set +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_AMD=y +CONFIG_X86_MCE_INJECT=m CONFIG_I8K=m CONFIG_MICROCODE=m CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_AMD=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m -CONFIG_X86_CPU_DEBUG=m +# CONFIG_X86_CPU_DEBUG is not set CONFIG_NODES_SHIFT=6 # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set CONFIG_X86_RESERVE_LOW_64K=y @@ -53,7 +56,6 @@ CONFIG_HOTPLUG_CPU=y CONFIG_PCI=y CONFIG_DMAR=y # CONFIG_DMAR_DEFAULT_ON is not set -CONFIG_DMAR_GFX_WA=y CONFIG_INTR_REMAP=y CONFIG_IA32_EMULATION=y CONFIG_IA32_AOUT=y @@ -102,7 +104,6 @@ CONFIG_VIRTUALIZATION=y CONFIG_KVM=m CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m -# CONFIG_KVM_TRACE is not set ## ## file: arch/x86/xen/Kconfig @@ -111,13 +112,10 @@ CONFIG_XEN=y # CONFIG_XEN_DEBUG_FS is not set ## -## file: drivers/char/hw_random/Kconfig +## file: crypto/Kconfig ## -CONFIG_HW_RANDOM=m -CONFIG_HW_RANDOM_INTEL=m -CONFIG_HW_RANDOM_AMD=m -CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_GEODE=m +CONFIG_CRYPTO_CRC32C_INTEL=m +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m ## ## file: drivers/acpi/Kconfig @@ -125,6 +123,7 @@ CONFIG_HW_RANDOM_GEODE=m CONFIG_ACPI=y CONFIG_ACPI_PROCFS=y # CONFIG_ACPI_PROCFS_POWER is not set +CONFIG_ACPI_POWER_METER=m CONFIG_ACPI_SYSFS_POWER=y # CONFIG_ACPI_PROC_EVENT is not set CONFIG_ACPI_AC=m @@ -134,6 +133,7 @@ CONFIG_ACPI_VIDEO=m CONFIG_ACPI_FAN=m CONFIG_ACPI_DOCK=y CONFIG_ACPI_PROCESSOR=m +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m CONFIG_ACPI_THERMAL=m CONFIG_ACPI_BLACKLIST_YEAR=0 # CONFIG_ACPI_DEBUG is not set @@ -143,14 +143,153 @@ CONFIG_ACPI_HOTPLUG_MEMORY=m CONFIG_ACPI_SBS=m ## +## file: drivers/ata/Kconfig +## +# CONFIG_PATA_SIS is not set + +## +## file: drivers/atm/Kconfig +## +CONFIG_ATM_DRIVERS=y +CONFIG_ATM_TCP=m +CONFIG_ATM_LANAI=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FIRESTREAM=m +CONFIG_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_FORE200E_TX_RETRY=16 +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_HE=m +CONFIG_ATM_HE_USE_SUNI=y + +## +## file: drivers/auxdisplay/Kconfig +## +CONFIG_KS0108=m +CONFIG_KS0108_PORT=0x378 +CONFIG_KS0108_DELAY=2 + +## ## file: drivers/block/Kconfig ## +CONFIG_BLK_DEV_FD=m +CONFIG_PARIDE=m +CONFIG_BLK_CPQ_DA=m +CONFIG_BLK_CPQ_CISS_DA=m +CONFIG_CISS_SCSI_TAPE=y +CONFIG_BLK_DEV_DAC960=m +CONFIG_BLK_DEV_UMEM=m +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_UB is not set +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set CONFIG_XEN_BLKDEV_FRONTEND=m ## +## file: drivers/block/paride/Kconfig +## +CONFIG_PARIDE_PD=m +CONFIG_PARIDE_PCD=m +CONFIG_PARIDE_PF=m +CONFIG_PARIDE_PT=m +CONFIG_PARIDE_PG=m +CONFIG_PARIDE_ATEN=m +CONFIG_PARIDE_BPCK=m +CONFIG_PARIDE_COMM=m +CONFIG_PARIDE_DSTR=m +CONFIG_PARIDE_FIT2=m +CONFIG_PARIDE_FIT3=m +CONFIG_PARIDE_EPAT=m +# CONFIG_PARIDE_EPATC8 is not set +CONFIG_PARIDE_EPIA=m +CONFIG_PARIDE_FRIQ=m +CONFIG_PARIDE_FRPW=m +CONFIG_PARIDE_KBIC=m +CONFIG_PARIDE_KTTI=m +CONFIG_PARIDE_ON20=m +CONFIG_PARIDE_ON26=m + +## +## file: drivers/bluetooth/Kconfig +## +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBTUART=m +CONFIG_BT_HCIVHCI=m + +## ## file: drivers/char/Kconfig ## +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_ROCKETPORT=m +CONFIG_CYCLADES=m +# CONFIG_CYZ_INTR is not set +CONFIG_SYNCLINK=m +CONFIG_SYNCLINKMP=m +CONFIG_N_HDLC=m +CONFIG_SX=m +CONFIG_STALDRV=y +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set +CONFIG_PPDEV=m CONFIG_HVC_XEN=y +CONFIG_NVRAM=m +CONFIG_DTLK=m +CONFIG_R3964=m +CONFIG_APPLICOM=m +CONFIG_MWAVE=m +CONFIG_RAW_DRIVER=m +CONFIG_MAX_RAW_DEVS=256 +CONFIG_HPET=y +CONFIG_HPET_MMAP=y + +## +## file: drivers/char/agp/Kconfig +## +CONFIG_AGP=m +CONFIG_AGP_AMD64=m +CONFIG_AGP_INTEL=m +CONFIG_AGP_SIS=m +CONFIG_AGP_VIA=m + +## +## file: drivers/char/hw_random/Kconfig +## +CONFIG_HW_RANDOM=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_GEODE=m +CONFIG_HW_RANDOM_VIA=m + +## +## file: drivers/char/ipmi/Kconfig +## +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPMI_POWEROFF=m ## ## file: drivers/cpufreq/Kconfig @@ -163,14 +302,34 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y ## end choice ## +## file: drivers/cpuidle/Kconfig +## +CONFIG_CPU_IDLE=y + +## +## file: drivers/crypto/Kconfig +## +CONFIG_CRYPTO_DEV_PADLOCK=m +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m + +## +## file: drivers/dma/Kconfig +## +CONFIG_DMADEVICES=y +CONFIG_INTEL_IOATDMA=m +CONFIG_NET_DMA=y + +## ## file: drivers/edac/Kconfig ## CONFIG_EDAC=y # CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_AMD64=m -CONFIG_EDAC_AMD76X=m # CONFIG_EDAC_AMD64_ERROR_INJECTION is not set +CONFIG_EDAC_AMD76X=m CONFIG_EDAC_E7XXX=m CONFIG_EDAC_E752X=m CONFIG_EDAC_I82875P=m @@ -182,14 +341,629 @@ CONFIG_EDAC_AMD8131=m CONFIG_EDAC_AMD8111=m ## +## file: drivers/firmware/Kconfig +## +CONFIG_EDD=m +# CONFIG_EDD_OFF is not set +CONFIG_EFI_VARS=m +CONFIG_DELL_RBU=m +CONFIG_DCDBAS=m +CONFIG_DMIID=y +CONFIG_ISCSI_IBFT_FIND=y +CONFIG_ISCSI_IBFT=y + +## +## file: drivers/gpu/drm/Kconfig +## +CONFIG_DRM=m +CONFIG_DRM_TDFX=m +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_I810=m +## choice: Intel 830M, 845G, 852GM, 855GM, 865G +CONFIG_DRM_I830=m +CONFIG_DRM_I915=m +# CONFIG_DRM_I915_KMS is not set +## end choice +CONFIG_DRM_MGA=m +CONFIG_DRM_SIS=m + +## +## file: drivers/hid/usbhid/Kconfig +## +CONFIG_USB_HID=m +CONFIG_USB_KBD=m +CONFIG_USB_MOUSE=m + +## +## file: drivers/hwmon/Kconfig +## +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_HDAPS=m + +## +## file: drivers/i2c/Kconfig +## +CONFIG_I2C=m +CONFIG_I2C_CHARDEV=m +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set + +## +## file: drivers/i2c/busses/Kconfig +## +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_SCMI=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_VOODOO3=m +CONFIG_I2C_PCA_ISA=m +CONFIG_SCx200_ACB=m + +## +## file: drivers/ide/Kconfig +## +CONFIG_IDE=m +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_IDE_GD=m +CONFIG_BLK_DEV_IDECS=m +CONFIG_BLK_DEV_IDECD=m +CONFIG_BLK_DEV_IDETAPE=m +CONFIG_BLK_DEV_IDEACPI=y +CONFIG_IDE_GENERIC=m +CONFIG_BLK_DEV_CMD640=y +# CONFIG_BLK_DEV_CMD640_ENHANCED is not set +CONFIG_BLK_DEV_IDEPNP=y +# CONFIG_BLK_DEV_OFFBOARD is not set +CONFIG_BLK_DEV_GENERIC=m +CONFIG_BLK_DEV_OPTI621=m +CONFIG_BLK_DEV_RZ1000=m +CONFIG_BLK_DEV_AEC62XX=m +CONFIG_BLK_DEV_ALI15X3=m +CONFIG_BLK_DEV_AMD74XX=m +CONFIG_BLK_DEV_ATIIXP=m +CONFIG_BLK_DEV_CMD64X=m +CONFIG_BLK_DEV_TRIFLEX=m +CONFIG_BLK_DEV_CY82C693=m +CONFIG_BLK_DEV_CS5520=m +CONFIG_BLK_DEV_CS5530=m +CONFIG_BLK_DEV_HPT366=m +CONFIG_BLK_DEV_SC1200=m +CONFIG_BLK_DEV_PIIX=m +CONFIG_BLK_DEV_NS87415=m +CONFIG_BLK_DEV_PDC202XX_OLD=m +CONFIG_BLK_DEV_PDC202XX_NEW=m +CONFIG_BLK_DEV_SVWKS=m +CONFIG_BLK_DEV_SIIMAGE=m +CONFIG_BLK_DEV_SIS5513=m +CONFIG_BLK_DEV_SLC90E66=m +CONFIG_BLK_DEV_TRM290=m +CONFIG_BLK_DEV_VIA82CXXX=m + +## ## file: drivers/input/Kconfig ## CONFIG_XEN_KBDDEV_FRONTEND=y ## +## file: drivers/input/gameport/Kconfig +## +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m + +## +## file: drivers/input/joystick/Kconfig +## +CONFIG_INPUT_JOYSTICK=y + +## +## file: drivers/input/keyboard/Kconfig +## +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m + +## +## file: drivers/input/misc/Kconfig +## +CONFIG_INPUT_MISC=y +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_UINPUT=m + +## +## file: drivers/input/mouse/Kconfig +## +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_VSXXXAA=m + +## +## file: drivers/input/serio/Kconfig +## +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_RAW=m + +## +## file: drivers/input/tablet/Kconfig +## +CONFIG_INPUT_TABLET=y +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_WACOM=m + +## +## file: drivers/input/touchscreen/Kconfig +## +CONFIG_INPUT_TOUCHSCREEN=y + +## +## file: drivers/isdn/Kconfig +## +CONFIG_ISDN=y +CONFIG_ISDN_I4L=m +CONFIG_ISDN_CAPI=m + +## +## file: drivers/isdn/capi/Kconfig +## +CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISDN_CAPI_CAPI20=m +CONFIG_ISDN_CAPI_CAPIFS_BOOL=y +CONFIG_ISDN_CAPI_CAPIDRV=m + +## +## file: drivers/isdn/hardware/avm/Kconfig +## +CONFIG_CAPI_AVM=y +CONFIG_ISDN_DRV_AVMB1_B1PCI=m +CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y +CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m +CONFIG_ISDN_DRV_AVMB1_AVM_CS=m +CONFIG_ISDN_DRV_AVMB1_T1PCI=m +CONFIG_ISDN_DRV_AVMB1_C4=m + +## +## file: drivers/isdn/hardware/eicon/Kconfig +## +CONFIG_CAPI_EICON=y +CONFIG_ISDN_DIVAS=m +CONFIG_ISDN_DIVAS_BRIPCI=y +CONFIG_ISDN_DIVAS_PRIPCI=y +CONFIG_ISDN_DIVAS_DIVACAPI=m +CONFIG_ISDN_DIVAS_USERIDI=m +CONFIG_ISDN_DIVAS_MAINT=m + +## +## file: drivers/isdn/hisax/Kconfig +## +CONFIG_ISDN_DRV_HISAX=m +CONFIG_HISAX_EURO=y +CONFIG_DE_AOC=y +# CONFIG_HISAX_NO_SENDCOMPLETE is not set +# CONFIG_HISAX_NO_LLC is not set +# CONFIG_HISAX_NO_KEYPAD is not set +CONFIG_HISAX_1TR6=y +CONFIG_HISAX_NI1=y +CONFIG_HISAX_MAX_CARDS=8 +CONFIG_HISAX_16_3=y +CONFIG_HISAX_TELESPCI=y +CONFIG_HISAX_S0BOX=y +CONFIG_HISAX_FRITZPCI=y +CONFIG_HISAX_AVM_A1_PCMCIA=y +CONFIG_HISAX_ELSA=y +CONFIG_HISAX_DIEHLDIVA=y +CONFIG_HISAX_SEDLBAUER=y +CONFIG_HISAX_NETJET=y +CONFIG_HISAX_NETJET_U=y +CONFIG_HISAX_NICCY=y +CONFIG_HISAX_BKM_A4T=y +CONFIG_HISAX_SCT_QUADRO=y +CONFIG_HISAX_GAZEL=y +CONFIG_HISAX_HFC_PCI=y +CONFIG_HISAX_W6692=y +CONFIG_HISAX_HFC_SX=y +CONFIG_HISAX_ENTERNOW_PCI=y +# CONFIG_HISAX_DEBUG is not set +CONFIG_HISAX_SEDLBAUER_CS=m +CONFIG_HISAX_ELSA_CS=m +CONFIG_HISAX_AVM_A1_CS=m +CONFIG_HISAX_TELES_CS=m +CONFIG_HISAX_ST5481=m +CONFIG_HISAX_HFCUSB=m +CONFIG_HISAX_HFC4S8S=m +CONFIG_HISAX_FRITZ_PCIPNP=m + +## +## file: drivers/isdn/i4l/Kconfig +## +CONFIG_ISDN_PPP=y +CONFIG_ISDN_PPP_VJ=y +CONFIG_ISDN_MPP=y +CONFIG_IPPP_FILTER=y +CONFIG_ISDN_PPP_BSDCOMP=m +CONFIG_ISDN_AUDIO=y +CONFIG_ISDN_TTY_FAX=y +CONFIG_ISDN_X25=y + +## +## file: drivers/leds/Kconfig +## +CONFIG_LEDS_CLEVO_MAIL=m + +## +## file: drivers/media/Kconfig +## +CONFIG_DVB_CORE=m + +## +## file: drivers/media/radio/Kconfig +## +CONFIG_RADIO_GEMTEK_PCI=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_MAESTRO=m +CONFIG_USB_DSBR=m + +## +## file: drivers/message/i2o/Kconfig +## +CONFIG_I2O=m +CONFIG_I2O_CONFIG=m +CONFIG_I2O_BLOCK=m +CONFIG_I2O_SCSI=m +CONFIG_I2O_PROC=m + +## +## file: drivers/misc/Kconfig +## +CONFIG_IBM_ASM=m +CONFIG_PHANTOM=m +CONFIG_CS5535_MFGPT=m +CONFIG_HP_ILO=m +CONFIG_DELL_LAPTOP=m + +## +## file: drivers/mmc/Kconfig +## +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set + +## +## file: drivers/mmc/card/Kconfig +## +CONFIG_MMC_BLOCK=m + +## +## file: drivers/mtd/Kconfig +## +CONFIG_MTD=m +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=m +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_REDBOOT_PARTS=y +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +CONFIG_MTD_CHAR=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_FTL=m +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_INFTL=m + +## +## file: drivers/mtd/chips/Kconfig +## +CONFIG_MTD_CFI=m +CONFIG_MTD_JEDECPROBE=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_RAM=m +CONFIG_MTD_ROM=m +CONFIG_MTD_ABSENT=m + +## +## file: drivers/mtd/devices/Kconfig +## +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +CONFIG_MTD_SLRAM=m +CONFIG_MTD_PHRAM=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTD_BLOCK2MTD=m +CONFIG_MTD_DOC2000=m +CONFIG_MTD_DOC2001=m +CONFIG_MTD_DOC2001PLUS=m +# CONFIG_MTD_DOCPROBE_ADVANCED is not set +CONFIG_MTD_DOCPROBE_ADDRESS=0 + +## +## file: drivers/mtd/maps/Kconfig +## +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_PHYSMAP=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +CONFIG_MTD_PHYSMAP_START=0x8000000 +CONFIG_MTD_PHYSMAP_LEN=0x4000000 +CONFIG_MTD_PHYSMAP_BANKWIDTH=2 +CONFIG_MTD_SC520CDP=m +CONFIG_MTD_NETSC520=m +CONFIG_MTD_TS5500=m +CONFIG_MTD_SBC_GXX=m +# CONFIG_MTD_AMD76XROM is not set +# CONFIG_MTD_ICHXROM is not set +# CONFIG_MTD_SCB2_FLASH is not set +CONFIG_MTD_NETtel=m +CONFIG_MTD_DILNETPC=m +CONFIG_MTD_DILNETPC_BOOTSIZE=0x80000 +# CONFIG_MTD_L440GX is not set +CONFIG_MTD_PCI=m + +## +## file: drivers/mtd/nand/Kconfig +## +CONFIG_MTD_NAND=m +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +CONFIG_MTD_NAND_PLATFORM=m + +## ## file: drivers/net/Kconfig ## +CONFIG_DUMMY=m +CONFIG_NET_SB1000=m +CONFIG_HAPPYMEAL=m +CONFIG_SUNGEM=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +CONFIG_HP100=m +CONFIG_NET_PCI=y +CONFIG_AMD8111_ETH=m +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_B44=m +CONFIG_FORCEDETH=m +CONFIG_E100=m +CONFIG_FEALNX=m +CONFIG_NATSEMI=m +CONFIG_NE2K_PCI=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_SIS900=m +CONFIG_EPIC100=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_VIA_RHINE=m +# CONFIG_VIA_RHINE_MMIO is not set +CONFIG_ATP=m +CONFIG_DE600=m +CONFIG_DE620=m CONFIG_XEN_NETDEV_FRONTEND=m +CONFIG_FDDI=y +CONFIG_SKFP=m +CONFIG_HIPPI=y +CONFIG_ROADRUNNER=m +# CONFIG_ROADRUNNER_LARGE_RINGS is not set +CONFIG_PLIP=m +CONFIG_NET_FC=y +# CONFIG_NETPOLL_TRAP is not set + +## +## file: drivers/net/arcnet/Kconfig +## +CONFIG_ARCNET=m +CONFIG_ARCNET_1201=m +CONFIG_ARCNET_1051=m +CONFIG_ARCNET_RAW=m +CONFIG_ARCNET_CAP=m +CONFIG_ARCNET_COM90xx=m +CONFIG_ARCNET_COM90xxIO=m +CONFIG_ARCNET_RIM_I=m +CONFIG_ARCNET_COM20020=m +CONFIG_ARCNET_COM20020_PCI=m + +## +## file: drivers/net/irda/Kconfig +## +CONFIG_IRTTY_SIR=m +CONFIG_USB_IRDA=m +CONFIG_SIGMATEL_FIR=m +CONFIG_NSC_FIR=m +CONFIG_WINBOND_FIR=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_ALI_FIR=m +CONFIG_VLSI_FIR=m +CONFIG_VIA_FIR=m + +## +## file: drivers/net/pcmcia/Kconfig +## +CONFIG_NET_PCMCIA=y +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_AXNET=m +CONFIG_ARCNET_COM20020_CS=m + +## +## file: drivers/net/tulip/Kconfig +## +CONFIG_NET_TULIP=y +CONFIG_DE2104X=m +CONFIG_TULIP=m +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_MMIO is not set +CONFIG_DE4X5=m +CONFIG_WINBOND_840=m +CONFIG_DM9102=m +CONFIG_PCMCIA_XIRCOM=m + +## +## file: drivers/net/wan/Kconfig +## +CONFIG_WAN=y +CONFIG_LANMEDIA=m +CONFIG_PCI200SYN=m +CONFIG_WANXL=m +CONFIG_PC300=m +CONFIG_PC300_MLPPP=y +CONFIG_FARSYNC=m +CONFIG_DSCC4=m +CONFIG_DSCC4_PCISYNC=y +CONFIG_DSCC4_PCI_RST=y +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_CYCLADES_SYNC=m +CONFIG_CYCLOMX_X25=y +CONFIG_LAPBETHER=m +CONFIG_X25_ASY=m +CONFIG_SBNI=m +# CONFIG_SBNI_MULTILINE is not set + +## +## file: drivers/net/wireless/Kconfig +## +CONFIG_WLAN_PRE80211=y +CONFIG_STRIP=m +CONFIG_PCMCIA_WAVELAN=m +CONFIG_PCMCIA_NETWAVE=m +CONFIG_WLAN_80211=y +CONFIG_PCMCIA_RAYCS=m +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_AIRO_CS=m +CONFIG_PCMCIA_WL3501=m +CONFIG_USB_ZD1201=m + +## +## file: drivers/net/wireless/orinoco/Kconfig +## +CONFIG_HERMES=m +CONFIG_PLX_HERMES=m +CONFIG_TMD_HERMES=m +CONFIG_PCI_HERMES=m +CONFIG_PCMCIA_HERMES=m + +## +## file: drivers/pci/Kconfig +## +CONFIG_HT_IRQ=y + +## +## file: drivers/pci/hotplug/Kconfig +## +CONFIG_HOTPLUG_PCI=m +CONFIG_HOTPLUG_PCI_FAKE=m +CONFIG_HOTPLUG_PCI_ACPI=m +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_SHPC=m + +## +## file: drivers/pcmcia/Kconfig +## +CONFIG_PCCARD=m +# CONFIG_PCMCIA_DEBUG is not set +CONFIG_PCMCIA=m +CONFIG_CARDBUS=y +CONFIG_YENTA=m +CONFIG_PD6729=m +CONFIG_I82092=m +CONFIG_TCIC=m ## ## file: drivers/platform/x86/Kconfig @@ -200,57 +974,106 @@ CONFIG_ACERHDF=m CONFIG_DELL_WMI=m CONFIG_SONYPI_COMPAT=y CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y # CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set # CONFIG_THINKPAD_ACPI_DEBUG is not set # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set -CONFIG_THINKPAD_ACPI_BAY=y CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y # CONFIG_INTEL_MENLOW is not set CONFIG_EEEPC_LAPTOP=m +CONFIG_MSI_WMI=m CONFIG_ACPI_WMI=m CONFIG_ACPI_ASUS=m +CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_ACPI_CMPC=m ## -## file: drivers/staging/Kconfig +## file: drivers/pnp/Kconfig ## -CONFIG_STAGING=y -# CONFIG_STAGING_EXCLUDE_BUILD is not set +CONFIG_PNP=y ## -## file: drivers/staging/agnx/Kconfig +## file: drivers/power/Kconfig ## -# CONFIG_AGNX is not set +CONFIG_POWER_SUPPLY=m +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PDA_POWER=m +CONFIG_BATTERY_DS2760=m ## -## file: drivers/staging/altpciechdma/Kconfig +## file: drivers/rtc/Kconfig +## +CONFIG_RTC_DRV_CMOS=y + ## -# CONFIG_ALTERA_PCIE_CHDMA is not set +## file: drivers/scsi/Kconfig +## +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EATA=m +CONFIG_SCSI_EATA_TAGGED_QUEUE=y +CONFIG_SCSI_EATA_LINKED_COMMANDS=y +CONFIG_SCSI_EATA_MAX_TAGS=16 +CONFIG_SCSI_FUTURE_DOMAIN=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_IPR=m +# CONFIG_SCSI_IPR_TRACE is not set +# CONFIG_SCSI_IPR_DUMP is not set +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DC390T=m +CONFIG_SCSI_DEBUG=m ## -## file: drivers/staging/android/Kconfig +## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx ## -# CONFIG_ANDROID is not set -# CONFIG_ANDROID_BINDER_IPC is not set -# CONFIG_ANDROID_LOGGER is not set -# CONFIG_ANDROID_RAM_CONSOLE is not set -# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 ## -## file: drivers/staging/asus_oled/Kconfig +## file: drivers/scsi/megaraid/Kconfig.megaraid ## -# CONFIG_ASUS_OLED is not set +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_LEGACY=m ## -## file: drivers/staging/at76_usb/Kconfig +## file: drivers/scsi/pcmcia/Kconfig +## +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_SYM53C500=m + ## -# CONFIG_USB_ATMEL is not set +## file: drivers/serial/Kconfig +## +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_CS=m +CONFIG_SERIAL_8250_NR_UARTS=32 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_RSA=y +CONFIG_SERIAL_JSM=m ## -## file: drivers/staging/b3dfg/Kconfig +## file: drivers/sfi/Kconfig ## -# CONFIG_B3DFG is not set +CONFIG_SFI=y ## ## file: drivers/staging/comedi/Kconfig @@ -262,190 +1085,406 @@ CONFIG_COMEDI_PCMCIA_DRIVERS=m CONFIG_COMEDI_USB_DRIVERS=m ## -## file: drivers/staging/cpc-usb/Kconfig +## file: drivers/staging/et131x/Kconfig ## -# CONFIG_USB_CPC is not set +CONFIG_ET131X=m +# CONFIG_ET131X_DEBUG is not set ## -## file: drivers/staging/dst/Kconfig +## file: drivers/staging/pohmelfs/Kconfig ## -# CONFIG_DST is not set +CONFIG_POHMELFS=m +# CONFIG_POHMELFS_DEBUG is not set +CONFIG_POHMELFS_CRYPTO=y ## -## file: drivers/staging/echo/Kconfig +## file: drivers/staging/rt2860/Kconfig ## -# CONFIG_ECHO is not set +CONFIG_RT2860=m ## -## file: drivers/staging/epl/Kconfig +## file: drivers/staging/rt2870/Kconfig ## -# CONFIG_EPL is not set +CONFIG_RT2870=m ## -## file: drivers/staging/et131x/Kconfig +## file: drivers/staging/rt3090/Kconfig ## -CONFIG_ET131X=m -# CONFIG_ET131X_DEBUG is not set +CONFIG_RT3090=m ## -## file: drivers/staging/frontier/Kconfig +## file: drivers/staging/rtl8187se/Kconfig ## -# CONFIG_TRANZPORT is not set +CONFIG_RTL8187SE=m ## -## file: drivers/staging/go7007/Kconfig +## file: drivers/staging/rtl8192e/Kconfig ## -# CONFIG_VIDEO_GO7007 is not set +CONFIG_RTL8192E=m ## -## file: drivers/staging/heci/Kconfig +## file: drivers/staging/usbip/Kconfig ## -# CONFIG_HECI is not set +CONFIG_USB_IP_COMMON=m +CONFIG_USB_IP_VHCI_HCD=m +CONFIG_USB_IP_HOST=m ## -## file: drivers/staging/line6/Kconfig +## file: drivers/staging/wlan-ng/Kconfig ## -# CONFIG_LINE6_USB is not set +CONFIG_PRISM2_USB=m ## -## file: drivers/staging/me4000/Kconfig +## file: drivers/telephony/Kconfig ## -# CONFIG_ME4000 is not set +CONFIG_PHONE=m +CONFIG_PHONE_IXJ=m +CONFIG_PHONE_IXJ_PCMCIA=m ## -## file: drivers/staging/meilhaus/Kconfig +## file: drivers/thermal/Kconfig ## -# CONFIG_MEILHAUS is not set +CONFIG_THERMAL=m +CONFIG_THERMAL_HWMON=y ## -## file: drivers/staging/mimio/Kconfig +## file: drivers/usb/Kconfig ## -# CONFIG_INPUT_MIMIO is not set +CONFIG_USB=m +CONFIG_USB_USS720=m ## -## file: drivers/staging/otus/Kconfig +## file: drivers/usb/atm/Kconfig ## -# CONFIG_OTUS is not set +CONFIG_USB_ATM=m +CONFIG_USB_SPEEDTOUCH=m ## -## file: drivers/staging/p9auth/Kconfig +## file: drivers/usb/host/Kconfig ## -# CONFIG_PLAN9AUTH is not set +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_OHCI_HCD_SSB is not set +CONFIG_USB_UHCI_HCD=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_SL811_CS=m ## -## file: drivers/staging/panel/Kconfig +## file: drivers/video/Kconfig ## -# CONFIG_PANEL is not set +CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_FB=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_CIRRUS=m +CONFIG_FB_PM2=m +CONFIG_FB_PM2_FIFO_DISCONNECT=y +CONFIG_FB_CYBER2000=m +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +CONFIG_FB_VGA16=m +CONFIG_FB_UVESA=m +CONFIG_FB_VESA=y +CONFIG_FB_EFI=y +CONFIG_FB_N411=m +CONFIG_FB_HGA=m +# CONFIG_FB_HGA_ACCEL is not set +CONFIG_FB_S1D13XXX=m +CONFIG_FB_NVIDIA=m +CONFIG_FB_NVIDIA_BACKLIGHT=y +# CONFIG_FB_RIVA is not set +# CONFIG_FB_RIVA_I2C is not set +# CONFIG_FB_RIVA_DEBUG is not set +CONFIG_FB_LE80578=m +CONFIG_FB_CARILLO_RANCH=m +CONFIG_FB_INTEL=m +CONFIG_FB_MATROX=m +CONFIG_FB_MATROX_MILLENIUM=y +CONFIG_FB_MATROX_MYSTIQUE=y +CONFIG_FB_MATROX_I2C=m +CONFIG_FB_RADEON=m +CONFIG_FB_RADEON_I2C=y +CONFIG_FB_RADEON_BACKLIGHT=y +# CONFIG_FB_RADEON_DEBUG is not set +CONFIG_FB_ATY128=m +CONFIG_FB_ATY128_BACKLIGHT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY_CT=y +CONFIG_FB_ATY_GX=y +CONFIG_FB_ATY_BACKLIGHT=y +CONFIG_FB_SAVAGE=m +# CONFIG_FB_SAVAGE_ACCEL is not set +CONFIG_FB_SIS=m +CONFIG_FB_SIS_300=y +CONFIG_FB_SIS_315=y +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_KYRO=m +CONFIG_FB_VOODOO1=m +CONFIG_FB_TRIDENT=m +CONFIG_FB_VIRTUAL=m +CONFIG_XEN_FBDEV_FRONTEND=y ## -## file: drivers/staging/pata_rdc/Kconfig +## file: drivers/video/backlight/Kconfig ## -# CONFIG_RDC_17F3101X is not set +CONFIG_BACKLIGHT_PROGEAR=m ## -## file: drivers/staging/phison/Kconfig +## file: drivers/video/console/Kconfig ## -# CONFIG_IDE_PHISON is not set +CONFIG_VGA_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y ## -## file: drivers/staging/poch/Kconfig +## file: drivers/video/logo/Kconfig ## -# CONFIG_POCH is not set +# CONFIG_LOGO is not set ## -## file: drivers/staging/pohmelfs/Kconfig +## file: drivers/watchdog/Kconfig +## +CONFIG_ACQUIRE_WDT=m +CONFIG_ADVANTECH_WDT=m +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_GEODE_WDT=m +CONFIG_SC520_WDT=m +CONFIG_EUROTECH_WDT=m +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_WAFER_WDT=m +CONFIG_I6300ESB_WDT=m +CONFIG_IT8712F_WDT=m +CONFIG_HP_WATCHDOG=m +CONFIG_SC1200_WDT=m +CONFIG_60XX_WDT=m +CONFIG_SBC8360_WDT=m +CONFIG_CPU5_WDT=m +CONFIG_W83627HF_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_MACHZ_WDT=m +CONFIG_PCIPCWATCHDOG=m +CONFIG_WDTPCI=m +CONFIG_USBPCWATCHDOG=m + ## -CONFIG_POHMELFS=m -# CONFIG_POHMELFS_DEBUG is not set -CONFIG_POHMELFS_CRYPTO=y +## file: drivers/xen/Kconfig +## +CONFIG_XEN_BALLOON=y +CONFIG_XEN_SCRUB_PAGES=y +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XENFS=m +CONFIG_XEN_COMPAT_XENFS=y +CONFIG_XEN_SYS_HYPERVISOR=y ## -## file: drivers/staging/rt2860/Kconfig +## file: fs/partitions/Kconfig +## +CONFIG_ACORN_PARTITION=y +# CONFIG_ACORN_PARTITION_CUMANA is not set +# CONFIG_ACORN_PARTITION_EESOX is not set +CONFIG_ACORN_PARTITION_ICS=y +# CONFIG_ACORN_PARTITION_ADFS is not set +# CONFIG_ACORN_PARTITION_POWERTEC is not set +CONFIG_ACORN_PARTITION_RISCIX=y +CONFIG_OSF_PARTITION=y +CONFIG_AMIGA_PARTITION=y +CONFIG_ATARI_PARTITION=y +CONFIG_MAC_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_LDM_PARTITION=y +# CONFIG_LDM_DEBUG is not set +CONFIG_SGI_PARTITION=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_SUN_PARTITION=y +CONFIG_EFI_PARTITION=y + ## -CONFIG_RT2860=m +## file: kernel/power/Kconfig +## +# CONFIG_PM_TRACE_RTC is not set +# CONFIG_PM_TEST_SUSPEND is not set ## -## file: drivers/staging/rt2870/Kconfig +## file: kernel/trace/Kconfig ## -CONFIG_RT2870=m +# CONFIG_MMIOTRACE is not set ## -## file: drivers/staging/rt3070/Kconfig +## file: lib/Kconfig.debug ## -CONFIG_RT3070=m +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_FRAME_POINTER is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set ## -## file: drivers/staging/rtl8187se/Kconfig +## file: mm/Kconfig ## -CONFIG_RTL8187SE=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 ## -## file: drivers/staging/serqt_usb2/Kconfig +## file: mm/Kconfig.debug ## -# CONFIG_USB_SERIAL_QUATECH2 is not set +# CONFIG_DEBUG_PAGEALLOC is not set ## -## file: drivers/staging/slicoss/Kconfig +## file: net/atm/Kconfig ## -# CONFIG_SLICOSS is not set +CONFIG_ATM=m +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set ## -## file: drivers/staging/stlc45xx/Kconfig +## file: net/ax25/Kconfig ## -# CONFIG_STLC45XX is not set +CONFIG_HAMRADIO=y +CONFIG_AX25=m +# CONFIG_AX25_DAMA_SLAVE is not set +CONFIG_NETROM=m +CONFIG_ROSE=m ## -## file: drivers/staging/sxg/Kconfig +## file: net/decnet/Kconfig ## -# CONFIG_SXG is not set +CONFIG_DECNET=m +# CONFIG_DECNET_ROUTER is not set ## -## file: drivers/staging/udlfb/Kconfig +## file: net/decnet/netfilter/Kconfig ## -# CONFIG_FB_UDL is not set +CONFIG_DECNET_NF_GRABULATOR=m ## -## file: drivers/staging/usbip/Kconfig +## file: net/econet/Kconfig ## -# CONFIG_USB_IP_COMMON is not set +CONFIG_ECONET=m +CONFIG_ECONET_AUNUDP=y +CONFIG_ECONET_NATIVE=y ## -## file: drivers/staging/winbond/Kconfig +## file: net/ipv6/Kconfig ## -# CONFIG_W35UND is not set +CONFIG_IPV6=y ## -## file: drivers/staging/wlan-ng/Kconfig +## file: net/ipx/Kconfig ## -CONFIG_PRISM2_USB=m +CONFIG_IPX=m +# CONFIG_IPX_INTERN is not set ## -## file: drivers/video/Kconfig +## file: net/irda/Kconfig ## -CONFIG_XEN_FBDEV_FRONTEND=y +CONFIG_IRDA=m +# CONFIG_IRDA_ULTRA is not set +CONFIG_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_FAST_RR=y +# CONFIG_IRDA_DEBUG is not set ## -## file: drivers/xen/Kconfig +## file: net/irda/ircomm/Kconfig ## -CONFIG_XEN_BALLOON=y -CONFIG_XEN_SCRUB_PAGES=y -CONFIG_XEN_DEV_EVTCHN=m -CONFIG_XENFS=m -CONFIG_XEN_COMPAT_XENFS=y -CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_IRCOMM=m ## -## file: init/Kconfig +## file: net/irda/irlan/Kconfig ## -CONFIG_PERF_COUNTERS=y +CONFIG_IRLAN=m ## -## file: mm/Kconfig +## file: net/irda/irnet/Kconfig ## -CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_IRNET=m ## -## file: net/ipv6/Kconfig +## file: net/lapb/Kconfig ## -CONFIG_IPV6=y +CONFIG_LAPB=m + +## +## file: net/wanrouter/Kconfig +## +CONFIG_WAN_ROUTER=m + +## +## file: net/x25/Kconfig +## +CONFIG_X25=m + +## +## file: sound/drivers/Kconfig +## +CONFIG_SND_DUMMY=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_MTPAV=m +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_MPU401=m + +## +## file: sound/pci/Kconfig +## +CONFIG_SND_ALS4000=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_HDSP=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_KORG1212=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VX222=m +CONFIG_SND_YMFPCI=m + +## +## file: sound/pci/hda/Kconfig +## +CONFIG_SND_HDA_INTEL=m + +## +## file: unknown +## +# CONFIG_KVM_TRACE is not set +CONFIG_NUMA_MIGRATE_IRQ_DESC=y diff --git a/config/kernelarch-x86/config-arch-32 b/config/kernelarch-x86/config-arch-32 index 6f6948b..eaa1295 100644 --- a/config/kernelarch-x86/config-arch-32 +++ b/config/kernelarch-x86/config-arch-32 @@ -7,8 +7,6 @@ CONFIG_SMP=y CONFIG_X86_BIGSMP=y CONFIG_VMI=y CONFIG_NR_CPUS=32 -CONFIG_X86_MCE_NONFATAL=m -CONFIG_X86_MCE_P4THERMAL=y CONFIG_VM86=y CONFIG_TOSHIBA=m # CONFIG_X86_REBOOTFIXUPS is not set @@ -20,6 +18,7 @@ CONFIG_HIGHMEM4G=y # CONFIG_X86_PAE is not set # CONFIG_NUMA is not set CONFIG_HIGHPTE=y +CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_APM=m # CONFIG_APM_IGNORE_USER_SUSPEND is not set # CONFIG_APM_DO_ENABLE is not set @@ -43,6 +42,7 @@ CONFIG_SCx200HR_TIMER=m ## file: arch/x86/Kconfig.cpu ## CONFIG_X86_GENERIC=y +# CONFIG_X86_PPRO_FENCE is not set ## ## file: arch/x86/kernel/cpu/cpufreq/Kconfig @@ -70,7 +70,7 @@ CONFIG_LGUEST_GUEST=y ## ## file: arch/x86/xen/Kconfig ## -CONFIG_XEN_MAX_DOMAIN_MEMORY=8 +CONFIG_XEN_MAX_DOMAIN_MEMORY=32 ## ## file: crypto/Kconfig @@ -80,6 +80,355 @@ CONFIG_CRYPTO_SALSA20_586=m CONFIG_CRYPTO_TWOFISH_586=m ## +## file: drivers/ata/Kconfig +## +# CONFIG_PATA_CS5535 is not set +# CONFIG_PATA_CS5536 is not set + +## +## file: drivers/atm/Kconfig +## +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set + +## +## file: drivers/auxdisplay/Kconfig +## +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 + +## +## file: drivers/block/Kconfig +## +CONFIG_BLK_DEV_XD=m +CONFIG_BLK_DEV_RAM_SIZE=8192 + +## +## file: drivers/block/paride/Kconfig +## +CONFIG_PARIDE_BPCK6=m + +## +## file: drivers/char/Kconfig +## +# CONFIG_ESPSERIAL is not set +# CONFIG_ISI is not set +# CONFIG_RISCOM8 is not set +# CONFIG_SPECIALIX is not set +CONFIG_SONYPI=m +CONFIG_SCx200_GPIO=m +CONFIG_CS5535_GPIO=m + +## +## file: drivers/char/agp/Kconfig +## +CONFIG_AGP_ALI=m +CONFIG_AGP_ATI=m +CONFIG_AGP_AMD=m +CONFIG_AGP_NVIDIA=m +CONFIG_AGP_SWORKS=m +CONFIG_AGP_EFFICEON=m + +## +## file: drivers/crypto/Kconfig +## +CONFIG_CRYPTO_DEV_GEODE=m + +## +## file: drivers/i2c/busses/Kconfig +## +CONFIG_SCx200_I2C=m +CONFIG_SCx200_I2C_SCL=12 +CONFIG_SCx200_I2C_SDA=13 + +## +## file: drivers/ide/Kconfig +## +CONFIG_BLK_DEV_CS5535=m +CONFIG_BLK_DEV_CS5536=m +# CONFIG_BLK_DEV_4DRIVES is not set +# CONFIG_BLK_DEV_ALI14XX is not set +# CONFIG_BLK_DEV_DTC2278 is not set +# CONFIG_BLK_DEV_HT6560B is not set +# CONFIG_BLK_DEV_QD65XX is not set +# CONFIG_BLK_DEV_UMC8672 is not set + +## +## file: drivers/input/misc/Kconfig +## +CONFIG_INPUT_WISTRON_BTNS=m + +## +## file: drivers/input/mouse/Kconfig +## +# CONFIG_MOUSE_PS2_OLPC is not set +CONFIG_MOUSE_INPORT=m +# CONFIG_MOUSE_ATIXL is not set +CONFIG_MOUSE_LOGIBM=m +CONFIG_MOUSE_PC110PAD=m + +## +## file: drivers/isdn/act2000/Kconfig +## +CONFIG_ISDN_DRV_ACT2000=m + +## +## file: drivers/isdn/hardware/avm/Kconfig +## +CONFIG_ISDN_DRV_AVMB1_B1ISA=m +CONFIG_ISDN_DRV_AVMB1_T1ISA=m + +## +## file: drivers/isdn/hisax/Kconfig +## +CONFIG_HISAX_16_0=y +CONFIG_HISAX_AVM_A1=y +CONFIG_HISAX_IX1MICROR2=y +CONFIG_HISAX_ASUSCOM=y +CONFIG_HISAX_TELEINT=y +CONFIG_HISAX_HFCS=y +CONFIG_HISAX_SPORTSTER=y +CONFIG_HISAX_MIC=y +CONFIG_HISAX_ISURF=y +CONFIG_HISAX_HSTSAPHIR=y + +## +## file: drivers/isdn/i4l/Kconfig +## +# CONFIG_ISDN_DIVERSION is not set + +## +## file: drivers/isdn/icn/Kconfig +## +CONFIG_ISDN_DRV_ICN=m + +## +## file: drivers/isdn/pcbit/Kconfig +## +CONFIG_ISDN_DRV_PCBIT=m + +## +## file: drivers/isdn/sc/Kconfig +## +CONFIG_ISDN_DRV_SC=m + +## +## file: drivers/leds/Kconfig +## +CONFIG_LEDS_WRAP=m + +## +## file: drivers/lguest/Kconfig +## +CONFIG_LGUEST=m + +## +## file: drivers/macintosh/Kconfig +## +# CONFIG_MACINTOSH_DRIVERS is not set + +## +## file: drivers/media/radio/Kconfig +## +CONFIG_RADIO_CADET=m +CONFIG_RADIO_RTRACK=m +CONFIG_RADIO_RTRACK2=m +CONFIG_RADIO_AZTECH=m +CONFIG_RADIO_GEMTEK=m +CONFIG_RADIO_SF16FMI=m +CONFIG_RADIO_SF16FMR2=m +CONFIG_RADIO_TERRATEC=m +CONFIG_RADIO_TRUST=m +CONFIG_RADIO_TYPHOON=m +CONFIG_RADIO_ZOLTRIX=m + +## +## file: drivers/mtd/maps/Kconfig +## +CONFIG_MTD_SCx200_DOCFLASH=m +CONFIG_MTD_PCMCIA=m +# CONFIG_MTD_PCMCIA_ANONYMOUS is not set + +## +## file: drivers/net/Kconfig +## +CONFIG_EL1=m +CONFIG_EL2=m +CONFIG_ELPLUS=m +CONFIG_EL16=m +CONFIG_EL3=m +CONFIG_3C515=m +CONFIG_LANCE=m +CONFIG_NET_VENDOR_SMC=y +CONFIG_WD80x3=m +CONFIG_ULTRA=m +CONFIG_SMC9194=m +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NI52=m +CONFIG_NI65=m +CONFIG_AT1700=m +CONFIG_DEPCA=m +CONFIG_NET_ISA=y +CONFIG_E2100=m +CONFIG_EWRK3=m +CONFIG_EEXPRESS=m +CONFIG_EEXPRESS_PRO=m +CONFIG_HPLAN_PLUS=m +CONFIG_HPLAN=m +CONFIG_LP486E=m +CONFIG_ETH16I=m +CONFIG_NE2000=m +CONFIG_ZNET=m +CONFIG_SEEQ8005=m +CONFIG_AC3200=m +CONFIG_APRICOT=m +CONFIG_CS89x0=m +CONFIG_8139TOO_PIO=y +CONFIG_TLAN=m + +## +## file: drivers/net/arcnet/Kconfig +## +CONFIG_ARCNET_COM20020_ISA=m + +## +## file: drivers/net/hamradio/Kconfig +## +CONFIG_SCC=m +# CONFIG_SCC_DELAY is not set +# CONFIG_SCC_TRXECHO is not set + +## +## file: drivers/net/irda/Kconfig +## +CONFIG_TOSHIBA_FIR=m + +## +## file: drivers/net/wan/Kconfig +## +CONFIG_HOSTESS_SV11=m +CONFIG_COSA=m +CONFIG_SEALEVEL_4021=m +CONFIG_N2=m +CONFIG_C101=m +CONFIG_SDLA=m + +## +## file: drivers/net/wireless/Kconfig +## +CONFIG_ARLAN=m +CONFIG_WAVELAN=m + +## +## file: drivers/net/wireless/ipw2x00/Kconfig +## +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +# CONFIG_IPW2100_DEBUG is not set + +## +## file: drivers/pci/hotplug/Kconfig +## +CONFIG_HOTPLUG_PCI_COMPAQ=m +CONFIG_HOTPLUG_PCI_IBM=m + +## +## file: drivers/pcmcia/Kconfig +## +CONFIG_I82365=m + +## +## file: drivers/platform/x86/Kconfig +## +CONFIG_TC1100_WMI=m + +## +## file: drivers/pnp/isapnp/Kconfig +## +CONFIG_ISAPNP=y + +## +## file: drivers/pnp/pnpbios/Kconfig +## +CONFIG_PNPBIOS=y +CONFIG_PNPBIOS_PROC_FS=y + +## +## file: drivers/scsi/Kconfig +## +CONFIG_SCSI_IN2000=m +# CONFIG_SCSI_FLASHPOINT is not set +CONFIG_SCSI_DTC3280=m +CONFIG_SCSI_EATA_PIO=m +# CONFIG_SCSI_GENERIC_NCR5380 is not set +# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set +# CONFIG_SCSI_GENERIC_NCR53C400 is not set +# CONFIG_SCSI_INIA100 is not set +CONFIG_SCSI_NCR53C406A=m +CONFIG_SCSI_PAS16=m +CONFIG_SCSI_QLOGIC_FAS=m +CONFIG_SCSI_SYM53C416=m +CONFIG_SCSI_T128=m +CONFIG_SCSI_U14_34F=m +CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y +CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y +CONFIG_SCSI_U14_34F_MAX_TAGS=8 +CONFIG_SCSI_ULTRASTOR=m +CONFIG_SCSI_NSP32=m + +## +## file: drivers/scsi/pcmcia/Kconfig +## +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_NINJA_SCSI=m + +## +## file: drivers/serial/Kconfig +## +CONFIG_SERIAL_8250_EXAR_ST16C554=m + +## +## file: drivers/video/Kconfig +## +CONFIG_FB_NVIDIA_I2C=y +CONFIG_FB_I810=m +# CONFIG_FB_I810_GTF is not set +CONFIG_FB_MATROX_G=y +CONFIG_FB_MATROX_MAVEN=m +CONFIG_FB_ATY_GENERIC_LCD=y +CONFIG_FB_SAVAGE_I2C=y + +## +## file: drivers/video/console/Kconfig +## +CONFIG_MDA_CONSOLE=m + +## +## file: drivers/video/geode/Kconfig +## +CONFIG_FB_GEODE=y +CONFIG_FB_GEODE_LX=m +CONFIG_FB_GEODE_GX=m +CONFIG_FB_GEODE_GX1=m + +## +## file: drivers/watchdog/Kconfig +## +CONFIG_SCx200_WDT=m +CONFIG_SBC7240_WDT=m +CONFIG_PCWATCHDOG=m +CONFIG_MIXCOMWD=m +CONFIG_WDT=m + +## +## file: fs/Kconfig.binfmt +## +CONFIG_BINFMT_AOUT=m + +## ## file: lib/Kconfig.debug ## CONFIG_FRAME_WARN=1024 @@ -93,3 +442,55 @@ CONFIG_FLATMEM_MANUAL=y # CONFIG_SPARSEMEM_MANUAL is not set ## end choice +## +## file: security/Kconfig +## +CONFIG_LSM_MMAP_MIN_ADDR=0 + +## +## file: sound/isa/Kconfig +## +CONFIG_SND_ISA=y +CONFIG_SND_ADLIB=m +CONFIG_SND_AD1816A=m +CONFIG_SND_AD1848=m +CONFIG_SND_ALS100=m +CONFIG_SND_AZT2320=m +CONFIG_SND_CMI8330=m +CONFIG_SND_CS4231=m +CONFIG_SND_CS4236=m +CONFIG_SND_DT019X=m +CONFIG_SND_ES968=m +CONFIG_SND_ES1688=m +CONFIG_SND_ES18XX=m +CONFIG_SND_SC6000=m +CONFIG_SND_GUSCLASSIC=m +CONFIG_SND_GUSEXTREME=m +CONFIG_SND_GUSMAX=m +CONFIG_SND_INTERWAVE=m +CONFIG_SND_INTERWAVE_STB=m +CONFIG_SND_OPL3SA2=m +CONFIG_SND_OPTI92X_AD1848=m +CONFIG_SND_OPTI92X_CS4231=m +CONFIG_SND_OPTI93X=m +CONFIG_SND_MIRO=m +CONFIG_SND_SB8=m +CONFIG_SND_SB16=m +CONFIG_SND_SBAWE=m +CONFIG_SND_SB16_CSP=y +CONFIG_SND_SGALAXY=m +CONFIG_SND_SSCAPE=m +CONFIG_SND_WAVEFRONT=m + +## +## file: sound/pci/Kconfig +## +CONFIG_SND_SIS7019=m + +## +## file: unknown +## +CONFIG_RADIO_TYPHOON_PROC_FS=y +CONFIG_X86_MCE_NONFATAL=m +CONFIG_X86_MCE_P4THERMAL=y + diff --git a/config/kernelarch-x86/config-arch-64 b/config/kernelarch-x86/config-arch-64 index 8c28b78..d3541bc 100644 --- a/config/kernelarch-x86/config-arch-64 +++ b/config/kernelarch-x86/config-arch-64 @@ -10,18 +10,20 @@ CONFIG_AMD_IOMMU=y # CONFIG_AMD_IOMMU_STATS is not set # CONFIG_MAXSMP is not set CONFIG_NR_CPUS=512 -CONFIG_X86_MCE_INTEL=y -CONFIG_X86_MCE_AMD=y CONFIG_NUMA=y CONFIG_K8_NUMA=y CONFIG_X86_64_ACPI_NUMA=y -# CONFIG_NUMA_EMU is not set +CONFIG_NUMA_EMU=y CONFIG_PCI_MMCONFIG=y ## ## file: arch/x86/Kconfig.cpu ## ## choice: Processor family +# CONFIG_MK8 is not set +# CONFIG_MPSC is not set +# CONFIG_MCORE2 is not set +# CONFIG_MATOM is not set CONFIG_GENERIC_CPU=y ## end choice @@ -39,19 +41,94 @@ CONFIG_XEN_MAX_DOMAIN_MEMORY=32 ## file: crypto/Kconfig ## CONFIG_CRYPTO_AES_X86_64=m +CONFIG_CRYPTO_AES_NI_INTEL=m CONFIG_CRYPTO_SALSA20_X86_64=m CONFIG_CRYPTO_TWOFISH_X86_64=m ## +## file: drivers/block/Kconfig +## +CONFIG_BLK_DEV_RAM_SIZE=65536 + +## +## file: drivers/char/Kconfig +## +CONFIG_DIGIEPCA=m +CONFIG_MOXA_INTELLIO=m +CONFIG_ISI=m +CONFIG_SPECIALIX=m +CONFIG_RIO=m +CONFIG_RIO_OLDPCI=y + +## +## file: drivers/char/agp/Kconfig +## +CONFIG_AGP=y +#. Needed by GART_IOMMU +CONFIG_AGP_AMD64=y + +## +## file: drivers/i2c/busses/Kconfig +## +CONFIG_I2C_STUB=m + +## +## file: drivers/ide/Kconfig +## +# CONFIG_IDEPCI_PCIBUS_ORDER is not set + +## +## file: drivers/input/mouse/Kconfig +## +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y + +## +## file: drivers/isdn/i4l/Kconfig +## +CONFIG_ISDN_DIVERSION=m + +## +## file: drivers/macintosh/Kconfig +## +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MAC_EMUMOUSEBTN=y + +## +## file: drivers/net/Kconfig +## +# CONFIG_8139TOO_PIO is not set + +## +## file: drivers/net/wireless/ipw2x00/Kconfig +## +# CONFIG_IPW2100 is not set + +## +## file: drivers/scsi/Kconfig +## +CONFIG_SCSI_INIA100=m + +## +## file: drivers/video/Kconfig +## +# CONFIG_FB_NVIDIA_I2C is not set +CONFIG_FB_MATROX_G=y +CONFIG_FB_MATROX_MAVEN=m +# CONFIG_FB_ATY_GENERIC_LCD is not set +# CONFIG_FB_SAVAGE_I2C is not set + +## +## file: drivers/video/geode/Kconfig +## +# CONFIG_FB_GEODE is not set + +## ## file: init/Kconfig ## -## choice: RCU Implementation -# CONFIG_CLASSIC_RCU is not set -CONFIG_TREE_RCU=y -# CONFIG_PREEMPT_RCU is not set -## end choice CONFIG_RCU_FANOUT=64 -# CONFIG_RCU_FANOUT_EXACT is not set ## ## file: lib/Kconfig.debug @@ -65,5 +142,9 @@ CONFIG_FRAME_WARN=2048 CONFIG_SPARSEMEM_MANUAL=y ## end choice CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_MIGRATION=y + +## +## file: security/Kconfig +## +CONFIG_LSM_MMAP_MIN_ADDR=65536 diff --git a/config/m68k/config b/config/m68k/config index 9eafd16..18915e3 100644 --- a/config/m68k/config +++ b/config/m68k/config @@ -61,8 +61,8 @@ CONFIG_GEN_RTC_X=y ## CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/mouse/Kconfig @@ -86,11 +86,6 @@ CONFIG_INPUT_MOUSE=y # CONFIG_ISDN is not set ## -## file: drivers/md/Kconfig -## -CONFIG_MD=y - -## ## file: drivers/media/Kconfig ## # CONFIG_VIDEO_DEV is not set @@ -109,7 +104,6 @@ CONFIG_MD=y ## file: drivers/net/Kconfig ## CONFIG_NETDEVICES=y -CONFIG_DUMMY=m # CONFIG_BONDING is not set CONFIG_EQUALIZER=m # CONFIG_TUN is not set @@ -132,7 +126,6 @@ CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y # CONFIG_SCSI_ISCSI_ATTRS is not set # CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_DEBUG is not set ## ## file: drivers/serial/Kconfig @@ -155,11 +148,6 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 # CONFIG_WATCHDOG is not set ## -## file: fs/Kconfig -## -CONFIG_TMPFS=y - -## ## file: fs/adfs/Kconfig ## # CONFIG_ADFS_FS is not set @@ -307,11 +295,6 @@ CONFIG_SYSFS=y # CONFIG_NET_SCHED is not set ## -## file: net/sunrpc/Kconfig -## -# CONFIG_RPCSEC_GSS_SPKM3 is not set - -## ## file: net/wanrouter/Kconfig ## # CONFIG_WAN_ROUTER is not set diff --git a/config/m68k/config.amiga b/config/m68k/config.amiga index 39562b9..b570acb 100644 --- a/config/m68k/config.amiga +++ b/config/m68k/config.amiga @@ -93,9 +93,9 @@ CONFIG_JOYSTICK_AMIGA=m ## ## file: drivers/input/keyboard/Kconfig ## +CONFIG_KEYBOARD_AMIGA=y # CONFIG_KEYBOARD_ATKBD is not set # CONFIG_KEYBOARD_SUNKBD is not set -CONFIG_KEYBOARD_AMIGA=y ## ## file: drivers/input/misc/Kconfig @@ -243,12 +243,6 @@ CONFIG_HFS_FS=m CONFIG_HFSPLUS_FS=m ## -## file: fs/ncpfs/Kconfig -## -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y - -## ## file: fs/partitions/Kconfig ## # CONFIG_PARTITION_ADVANCED is not set @@ -272,11 +266,6 @@ CONFIG_IPX=m # CONFIG_IPX_INTERN is not set ## -## file: net/sunrpc/Kconfig -## -CONFIG_RPCSEC_GSS_KRB5=m - -## ## file: sound/Kconfig ## # CONFIG_SND is not set diff --git a/config/m68k/config.atari b/config/m68k/config.atari index 2b17c92..ea7eb15 100644 --- a/config/m68k/config.atari +++ b/config/m68k/config.atari @@ -61,9 +61,9 @@ CONFIG_BLK_DEV_FALCON_IDE=y ## ## file: drivers/input/keyboard/Kconfig ## +CONFIG_KEYBOARD_ATARI=y CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_SUNKBD is not set -CONFIG_KEYBOARD_ATARI=y ## ## file: drivers/input/misc/Kconfig @@ -160,12 +160,6 @@ CONFIG_HFS_FS=m CONFIG_HFSPLUS_FS=m ## -## file: fs/ncpfs/Kconfig -## -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y - -## ## file: fs/nfs/Kconfig ## # CONFIG_NFS_V4 is not set @@ -203,11 +197,6 @@ CONFIG_IPX=m # CONFIG_IPX_INTERN is not set ## -## file: net/sunrpc/Kconfig -## -# CONFIG_RPCSEC_GSS_KRB5 is not set - -## ## file: sound/Kconfig ## # CONFIG_SND is not set diff --git a/config/m68k/config.bvme6000 b/config/m68k/config.bvme6000 index e9b816e..ecea4fc 100644 --- a/config/m68k/config.bvme6000 +++ b/config/m68k/config.bvme6000 @@ -89,12 +89,6 @@ CONFIG_SERIAL_8250_NR_UARTS=4 # CONFIG_FB is not set ## -## file: fs/ncpfs/Kconfig -## -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y - -## ## file: fs/nfs/Kconfig ## CONFIG_NFS_FS=y @@ -125,11 +119,6 @@ CONFIG_IP_PNP_RARP=y # CONFIG_IPX is not set ## -## file: net/sunrpc/Kconfig -## -CONFIG_RPCSEC_GSS_KRB5=y - -## ## file: sound/Kconfig ## # CONFIG_SOUND is not set diff --git a/config/m68k/config.hp b/config/m68k/config.hp index f7e162c..8c5d998 100644 --- a/config/m68k/config.hp +++ b/config/m68k/config.hp @@ -49,7 +49,5 @@ CONFIG_LOCKD=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y CONFIG_RPCSEC_GSS_KRB5=y -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y # CONFIG_PARTITION_ADVANCED is not set CONFIG_CRC32=y diff --git a/config/m68k/config.mac b/config/m68k/config.mac index d8bfae5..ca511ef 100644 --- a/config/m68k/config.mac +++ b/config/m68k/config.mac @@ -160,17 +160,8 @@ CONFIG_HFS_FS=y CONFIG_HFSPLUS_FS=y ## -## file: fs/ncpfs/Kconfig -## -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y - -## ## file: fs/partitions/Kconfig ## -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set CONFIG_AMIGA_PARTITION=y CONFIG_ATARI_PARTITION=y CONFIG_MAC_PARTITION=y @@ -180,10 +171,7 @@ CONFIG_SOLARIS_X86_PARTITION=y CONFIG_UNIXWARE_DISKLABEL=y CONFIG_LDM_PARTITION=y CONFIG_LDM_DEBUG=y -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set CONFIG_SUN_PARTITION=y -# CONFIG_EFI_PARTITION is not set ## ## file: fs/ufs/Kconfig @@ -203,11 +191,6 @@ CONFIG_IPX=m # CONFIG_IPX_INTERN is not set ## -## file: net/sunrpc/Kconfig -## -CONFIG_RPCSEC_GSS_KRB5=m - -## ## file: sound/Kconfig ## # CONFIG_SOUND is not set diff --git a/config/m68k/config.mvme147 b/config/m68k/config.mvme147 index 0be0390..a504f89 100644 --- a/config/m68k/config.mvme147 +++ b/config/m68k/config.mvme147 @@ -102,12 +102,6 @@ CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_CLUT224=y ## -## file: fs/ncpfs/Kconfig -## -# CONFIG_NCPFS_NFS_NS is not set -# CONFIG_NCPFS_OS2_NS is not set - -## ## file: fs/nfs/Kconfig ## CONFIG_NFS_FS=y @@ -133,11 +127,6 @@ CONFIG_IPX=m # CONFIG_IPX_INTERN is not set ## -## file: net/sunrpc/Kconfig -## -CONFIG_RPCSEC_GSS_KRB5=y - -## ## file: sound/Kconfig ## # CONFIG_SOUND is not set diff --git a/config/m68k/config.mvme16x b/config/m68k/config.mvme16x index a783788..e0c12f0 100644 --- a/config/m68k/config.mvme16x +++ b/config/m68k/config.mvme16x @@ -108,12 +108,6 @@ CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_CLUT224=y ## -## file: fs/ncpfs/Kconfig -## -# CONFIG_NCPFS_NFS_NS is not set -# CONFIG_NCPFS_OS2_NS is not set - -## ## file: fs/nfs/Kconfig ## CONFIG_NFS_FS=y @@ -139,11 +133,6 @@ CONFIG_IPX=m # CONFIG_IPX_INTERN is not set ## -## file: net/sunrpc/Kconfig -## -CONFIG_RPCSEC_GSS_KRB5=y - -## ## file: sound/Kconfig ## # CONFIG_SOUND is not set diff --git a/config/m68k/config.q40 b/config/m68k/config.q40 index 783dcfc..67c3ad1 100644 --- a/config/m68k/config.q40 +++ b/config/m68k/config.q40 @@ -100,7 +100,5 @@ CONFIG_LOCKD=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y CONFIG_RPCSEC_GSS_KRB5=y -# CONFIG_NCPFS_NFS_NS is not set -# CONFIG_NCPFS_OS2_NS is not set # CONFIG_PARTITION_ADVANCED is not set CONFIG_CRC32=y diff --git a/config/m68k/config.sun3 b/config/m68k/config.sun3 index 194f780..91ae49d 100644 --- a/config/m68k/config.sun3 +++ b/config/m68k/config.sun3 @@ -48,8 +48,6 @@ CONFIG_LOCKD=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y CONFIG_RPCSEC_GSS_KRB5=y -# CONFIG_NCPFS_NFS_NS is not set -# CONFIG_NCPFS_OS2_NS is not set # CONFIG_PARTITION_ADVANCED is not set CONFIG_SUN_PARTITION=y CONFIG_CRC32=y diff --git a/config/m68k/defines b/config/m68k/defines index fa4d477..55a520d 100644 --- a/config/m68k/defines +++ b/config/m68k/defines @@ -16,30 +16,30 @@ kernel-arch: m68k initramfs: false suggests: vmelilo, fdutils -[amiga_base] -class: Amiga +[amiga_description] +hardware: Amiga -[atari_base] -class: Atari +[atari_description] +hardware: Atari -[bvme6000_base] -class: BVM BVME4000 and BVME6000 +[bvme6000_description] +hardware: BVM BVME4000 and BVME6000 -[hp_base] -class: HP +[hp_description] +hardware: HP -[mac_base] -class: Macintosh +[mac_description] +hardware: Macintosh -[mvme147_base] -class: Motorola MVME147 +[mvme147_description] +hardware: Motorola MVME147 -[mvme16x_base] -class: Motorola MVME162/6/7, MVME172/7 +[mvme16x_description] +hardware: Motorola MVME162/6/7, MVME172/7 -[q40_base] -class: Q40 and Q60 +[q40_description] +hardware: Q40 and Q60 -[sun3_base] -class: sun3 +[sun3_description] +hardware: sun3 diff --git a/config/mips/config b/config/mips/config index 247b043..bdcbcc3 100644 --- a/config/mips/config +++ b/config/mips/config @@ -1,6 +1,10 @@ ## ## file: arch/mips/Kconfig ## +## choice: Endianess selection +CONFIG_CPU_BIG_ENDIAN=y +# CONFIG_CPU_LITTLE_ENDIAN is not set +## end choice CONFIG_SECCOMP=y ## diff --git a/config/mips/config.4kc-malta b/config/mips/config.4kc-malta index 97a06aa..b8e1b8b 100644 --- a/config/mips/config.4kc-malta +++ b/config/mips/config.4kc-malta @@ -32,10 +32,6 @@ CONFIG_MIPS_MALTA=y # CONFIG_SNI_RM is not set # CONFIG_WR_PPMC is not set ## end choice -## choice: Endianess selection -CONFIG_CPU_BIG_ENDIAN=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -## end choice ## choice: CPU type CONFIG_CPU_MIPS32_R1=y # CONFIG_CPU_MIPS32_R2 is not set @@ -264,21 +260,10 @@ CONFIG_DRM_VIA=m CONFIG_DRM_SAVAGE=m ## -## file: drivers/hid/Kconfig -## -CONFIG_HID=y - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -## ## file: drivers/hwmon/Kconfig ## CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_SENSORS_ABITUGURU is not set CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m @@ -289,8 +274,6 @@ CONFIG_SENSORS_ADM9240=m # CONFIG_SENSORS_ATXP1 is not set CONFIG_SENSORS_DS1621=m # CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_IT87 is not set @@ -323,7 +306,6 @@ CONFIG_SENSORS_PCF8591=m # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set ## ## file: drivers/i2c/Kconfig @@ -359,13 +341,6 @@ CONFIG_I2C_VOODOO3=m # CONFIG_I2C_STUB is not set ## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m -CONFIG_SENSORS_PCA9539=m -CONFIG_SENSORS_MAX6875=m - -## ## file: drivers/ide/Kconfig ## CONFIG_IDE=y @@ -420,11 +395,11 @@ CONFIG_INPUT_JOYSTICK=y ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_XTKBD=m CONFIG_KEYBOARD_NEWTON=m CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m ## ## file: drivers/input/misc/Kconfig @@ -489,7 +464,6 @@ CONFIG_ISDN_DRV_GIGASET=m CONFIG_GIGASET_BASE=m CONFIG_GIGASET_M105=m # CONFIG_GIGASET_DEBUG is not set -# CONFIG_GIGASET_UNDOCREQ is not set ## ## file: drivers/isdn/hardware/avm/Kconfig @@ -563,30 +537,8 @@ CONFIG_ISDN_DIVERSION=m # CONFIG_NEW_LEDS is not set ## -## file: drivers/md/Kconfig -## -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID456=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -# CONFIG_DM_DEBUG is not set -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m - -## ## file: drivers/media/Kconfig ## -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_V4L1_COMPAT=y CONFIG_DVB_CORE=m ## @@ -848,13 +800,6 @@ CONFIG_MTD_ONENAND_VERIFY_WRITE=y ## ## file: drivers/net/Kconfig ## -CONFIG_NETDEVICES=y -CONFIG_IFB=m -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set @@ -913,18 +858,6 @@ CONFIG_ARCNET_COM20020=m CONFIG_ARCNET_COM20020_PCI=m ## -## file: drivers/net/hamradio/Kconfig -## -CONFIG_MKISS=m -CONFIG_6PACK=m -CONFIG_BPQETHER=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_BAYCOM_EPP=m -CONFIG_YAM=m - -## ## file: drivers/net/irda/Kconfig ## CONFIG_IRTTY_SIR=m @@ -946,7 +879,6 @@ CONFIG_LXT_PHY=m # CONFIG_VITESSE_PHY is not set CONFIG_SMSC_PHY=m CONFIG_BROADCOM_PHY=m -CONFIG_FIXED_PHY=m ## ## file: drivers/net/tulip/Kconfig @@ -994,15 +926,6 @@ CONFIG_PCI_ATMEL=m CONFIG_USB_ZD1201=m ## -## file: drivers/net/wireless/hostap/Kconfig -## -CONFIG_HOSTAP=m -CONFIG_HOSTAP_FIRMWARE=y -# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set -CONFIG_HOSTAP_PLX=m -CONFIG_HOSTAP_PCI=m - -## ## file: drivers/net/wireless/ipw2x00/Kconfig ## CONFIG_IPW2100=m @@ -1046,12 +969,6 @@ CONFIG_ZD1211RW=m ## ## file: drivers/rtc/Kconfig ## -CONFIG_RTC_CLASS=y -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set CONFIG_RTC_DRV_DS1307=m CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_RS5C372=m @@ -1070,30 +987,7 @@ CONFIG_RTC_DRV_M48T86=m ## ## file: drivers/scsi/Kconfig ## -CONFIG_RAID_ATTRS=m CONFIG_SCSI=y -CONFIG_SCSI_TGT=m -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_MULTI_LUN=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_ISCSI_TCP=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_DPT_I2O=m CONFIG_SCSI_ARCMSR=m CONFIG_SCSI_HPTIOP=m @@ -1198,7 +1092,7 @@ CONFIG_PHONE_IXJ=m ## ## file: drivers/usb/Kconfig ## -CONFIG_USB=y +CONFIG_USB=m CONFIG_USB_USS720=m ## @@ -1211,19 +1105,6 @@ CONFIG_USB_UEAGLEATM=m CONFIG_USB_XUSBATM=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -1236,64 +1117,18 @@ CONFIG_USB_U132_HCD=m CONFIG_USB_SL811_HCD=m ## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_ADUTUX=m -CONFIG_USB_RIO500=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_LED=m -CONFIG_USB_CYPRESS_CY7C63=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_FTDI_ELAN=m -CONFIG_USB_APPLEDISPLAY=m -CONFIG_USB_LD=m -CONFIG_USB_TRANCEVIBRATOR=m -CONFIG_USB_TEST=m - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y - -## ## file: drivers/usb/mon/Kconfig ## CONFIG_USB_MON=y ## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y -CONFIG_USB_STORAGE_ALAUDA=y -CONFIG_USB_STORAGE_ONETOUCH=y -CONFIG_USB_STORAGE_KARMA=y -# CONFIG_USB_LIBUSUAL is not set - -## ## file: drivers/video/Kconfig ## CONFIG_FB=y CONFIG_FIRMWARE_EDID=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y -CONFIG_FB_CIRRUS=m +CONFIG_FB_CIRRUS=y CONFIG_FB_PM2=m CONFIG_FB_PM2_FIFO_DISCONNECT=y CONFIG_FB_CYBER2000=m @@ -1309,7 +1144,6 @@ CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_MATROX_MULTIHEAD=y CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y # CONFIG_FB_RADEON_DEBUG is not set @@ -1331,12 +1165,6 @@ CONFIG_FB_TRIDENT=m CONFIG_FB_VIRTUAL=m ## -## file: drivers/video/backlight/Kconfig -## -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_LCD_CLASS_DEVICE is not set - -## ## file: drivers/video/console/Kconfig ## CONFIG_VGA_CONSOLE=y @@ -1350,26 +1178,16 @@ CONFIG_FONT_8x16=y ## ## file: drivers/video/logo/Kconfig ## -# CONFIG_LOGO is not set +CONFIG_LOGO=y ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_SOFT_WATCHDOG=m CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m -CONFIG_WDT_501_PCI=y CONFIG_USBPCWATCHDOG=m ## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## ## file: fs/cramfs/Kconfig ## CONFIG_CRAMFS=y @@ -1391,18 +1209,6 @@ CONFIG_EXT2_FS=y CONFIG_EXT3_FS=y ## -## file: fs/ncpfs/Kconfig -## -CONFIG_NCPFS_PACKET_SIGNING=y -CONFIG_NCPFS_IOCTL_LOCKING=y -CONFIG_NCPFS_STRONG=y -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y -# CONFIG_NCPFS_SMALLDOS is not set -CONFIG_NCPFS_NLS=y -CONFIG_NCPFS_EXTRAS=y - -## ## file: fs/nfs/Kconfig ## CONFIG_NFS_FS=y @@ -1537,11 +1343,6 @@ CONFIG_LAPB=m # CONFIG_NETLABEL is not set ## -## file: net/sunrpc/Kconfig -## -CONFIG_RPCSEC_GSS_KRB5=y - -## ## file: net/wanrouter/Kconfig ## CONFIG_WAN_ROUTER=m @@ -1557,29 +1358,6 @@ CONFIG_WIRELESS_EXT=y CONFIG_X25=m ## -## file: sound/Kconfig -## -CONFIG_SOUND=y -CONFIG_SOUND_PRIME=m - -## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## ## file: sound/drivers/Kconfig ## CONFIG_SND_DUMMY=m @@ -1591,16 +1369,6 @@ CONFIG_SND_MPU401=m CONFIG_SND_AC97_POWER_SAVE=y ## -## file: sound/oss/Kconfig -## -CONFIG_SOUND_MSNDCLAS=m -CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" -CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" -CONFIG_SOUND_MSNDPIN=m -CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" -CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" - -## ## file: sound/pci/Kconfig ## CONFIG_SND_AD1889=m diff --git a/config/mips/config.5kc-malta b/config/mips/config.5kc-malta index 16991a4..1643f32 100644 --- a/config/mips/config.5kc-malta +++ b/config/mips/config.5kc-malta @@ -33,11 +33,6 @@ CONFIG_MIPS_MALTA=y # CONFIG_SNI_RM is not set # CONFIG_WR_PPMC is not set ## end choice -CONFIG_EARLY_PRINTK=y -## choice: Endianess selection -CONFIG_CPU_BIG_ENDIAN=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -## end choice ## choice: CPU type # CONFIG_CPU_MIPS32_R1 is not set # CONFIG_CPU_MIPS32_R2 is not set @@ -257,22 +252,10 @@ CONFIG_DRM_VIA=m CONFIG_DRM_SAVAGE=m ## -## file: drivers/hid/Kconfig -## -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -## ## file: drivers/hwmon/Kconfig ## CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_SENSORS_ABITUGURU is not set CONFIG_SENSORS_AD7418=m CONFIG_SENSORS_ADM1021=m @@ -285,8 +268,6 @@ CONFIG_SENSORS_ADM9240=m # CONFIG_SENSORS_ATXP1 is not set CONFIG_SENSORS_DS1621=m # CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_IT87 is not set @@ -320,7 +301,6 @@ CONFIG_SENSORS_PCF8591=m # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set ## ## file: drivers/i2c/Kconfig @@ -357,13 +337,6 @@ CONFIG_I2C_VOODOO3=m # CONFIG_I2C_STUB is not set ## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m -CONFIG_SENSORS_PCA9539=m -CONFIG_SENSORS_MAX6875=m - -## ## file: drivers/ide/Kconfig ## CONFIG_IDE=y @@ -473,11 +446,11 @@ CONFIG_INPUT_JOYSTICK=y ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_XTKBD=m CONFIG_KEYBOARD_NEWTON=m CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_XTKBD=m ## ## file: drivers/input/misc/Kconfig @@ -548,7 +521,6 @@ CONFIG_GIGASET_BASE=m CONFIG_GIGASET_M105=m CONFIG_GIGASET_M101=m # CONFIG_GIGASET_DEBUG is not set -# CONFIG_GIGASET_UNDOCREQ is not set ## ## file: drivers/isdn/hardware/avm/Kconfig @@ -622,31 +594,8 @@ CONFIG_ISDN_DIVERSION=m # CONFIG_NEW_LEDS is not set ## -## file: drivers/md/Kconfig -## -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID456=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -# CONFIG_DM_DEBUG is not set -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m -CONFIG_DM_DELAY=m - -## ## file: drivers/media/Kconfig ## -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_V4L1_COMPAT=y CONFIG_DVB_CORE=m ## @@ -1056,13 +1005,6 @@ CONFIG_MTD_UBI_BEB_RESERVE=1 ## ## file: drivers/net/Kconfig ## -CONFIG_NETDEVICES=y -CONFIG_IFB=m -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set @@ -1072,6 +1014,7 @@ CONFIG_TYPHOON=m # CONFIG_DM9000 is not set # CONFIG_HP100 is not set CONFIG_NET_PCI=y +CONFIG_PCNET32=y CONFIG_AMD8111_ETH=m CONFIG_ADAPTEC_STARFIRE=m CONFIG_B44=m @@ -1122,17 +1065,6 @@ CONFIG_ARCNET_COM20020=m CONFIG_ARCNET_COM20020_PCI=m ## -## file: drivers/net/hamradio/Kconfig -## -CONFIG_MKISS=m -CONFIG_6PACK=m -CONFIG_BPQETHER=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_YAM=m - -## ## file: drivers/net/irda/Kconfig ## CONFIG_IRTTY_SIR=m @@ -1153,7 +1085,6 @@ CONFIG_LXT_PHY=m # CONFIG_VITESSE_PHY is not set CONFIG_SMSC_PHY=m CONFIG_BROADCOM_PHY=m -CONFIG_FIXED_PHY=m ## ## file: drivers/net/tokenring/Kconfig @@ -1217,15 +1148,6 @@ CONFIG_PCI_ATMEL=m CONFIG_USB_ZD1201=m ## -## file: drivers/net/wireless/hostap/Kconfig -## -CONFIG_HOSTAP=m -CONFIG_HOSTAP_FIRMWARE=y -# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set -CONFIG_HOSTAP_PLX=m -CONFIG_HOSTAP_PCI=m - -## ## file: drivers/net/wireless/ipw2x00/Kconfig ## CONFIG_IPW2100=m @@ -1269,12 +1191,6 @@ CONFIG_ZD1211RW=m ## ## file: drivers/rtc/Kconfig ## -CONFIG_RTC_CLASS=m -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set CONFIG_RTC_DRV_DS1307=m CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_MAX6900=m @@ -1294,30 +1210,7 @@ CONFIG_RTC_DRV_M48T86=m ## ## file: drivers/scsi/Kconfig ## -CONFIG_RAID_ATTRS=m CONFIG_SCSI=y -CONFIG_SCSI_TGT=m -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_MULTI_LUN=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_ISCSI_TCP=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_ARCMSR=m CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_DMX3191D=m @@ -1421,7 +1314,7 @@ CONFIG_PHONE_IXJ=m ## ## file: drivers/usb/Kconfig ## -CONFIG_USB=y +CONFIG_USB=m CONFIG_USB_USS720=m ## @@ -1434,19 +1327,6 @@ CONFIG_USB_UEAGLEATM=m CONFIG_USB_XUSBATM=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -1459,106 +1339,18 @@ CONFIG_USB_U132_HCD=m CONFIG_USB_SL811_HCD=m ## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_ADUTUX=m -CONFIG_USB_RIO500=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_BERRY_CHARGE=m -CONFIG_USB_LED=m -CONFIG_USB_CYPRESS_CY7C63=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_FTDI_ELAN=m -CONFIG_USB_APPLEDISPLAY=m -CONFIG_USB_LD=m -CONFIG_USB_TRANCEVIBRATOR=m -CONFIG_USB_IOWARRIOR=m -CONFIG_USB_TEST=m - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y - -## ## file: drivers/usb/mon/Kconfig ## CONFIG_USB_MON=y ## -## file: drivers/usb/serial/Kconfig -## -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_AIRCABLE=m -CONFIG_USB_SERIAL_ARK3116=m -CONFIG_USB_SERIAL_BELKIN=m -# CONFIG_USB_SERIAL_WHITEHEAT is not set -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_FUNSOFT=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_MOS7720=m -CONFIG_USB_SERIAL_MOS7840=m -CONFIG_USB_SERIAL_NAVMAN=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_HP4X=m -CONFIG_USB_SERIAL_SAFE=m -# CONFIG_USB_SERIAL_SAFE_PADDED is not set -CONFIG_USB_SERIAL_SIERRAWIRELESS=m -# CONFIG_USB_SERIAL_TI is not set -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_SERIAL_DEBUG=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y -CONFIG_USB_STORAGE_ALAUDA=y -CONFIG_USB_STORAGE_ONETOUCH=y -CONFIG_USB_STORAGE_KARMA=y -# CONFIG_USB_LIBUSUAL is not set - -## ## file: drivers/video/Kconfig ## CONFIG_FB=y CONFIG_FIRMWARE_EDID=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y -CONFIG_FB_CIRRUS=m +CONFIG_FB_CIRRUS=y CONFIG_FB_PM2=m CONFIG_FB_PM2_FIFO_DISCONNECT=y CONFIG_FB_CYBER2000=m @@ -1576,7 +1368,6 @@ CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_MATROX_MULTIHEAD=y CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y CONFIG_FB_RADEON_BACKLIGHT=y @@ -1606,12 +1397,6 @@ CONFIG_FB_SM501=m CONFIG_FB_VIRTUAL=m ## -## file: drivers/video/backlight/Kconfig -## -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_LCD_CLASS_DEVICE is not set - -## ## file: drivers/video/console/Kconfig ## # CONFIG_VGA_CONSOLE is not set @@ -1629,7 +1414,7 @@ CONFIG_DISPLAY_SUPPORT=m ## ## file: drivers/video/logo/Kconfig ## -# CONFIG_LOGO is not set +CONFIG_LOGO=y ## ## file: drivers/w1/Kconfig @@ -1655,21 +1440,11 @@ CONFIG_W1_SLAVE_DS2433=m ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_SOFT_WATCHDOG=m CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m -CONFIG_WDT_501_PCI=y CONFIG_USBPCWATCHDOG=m ## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## ## file: fs/cramfs/Kconfig ## CONFIG_CRAMFS=y @@ -1836,11 +1611,6 @@ CONFIG_RFKILL=m CONFIG_RFKILL_INPUT=m ## -## file: net/sunrpc/Kconfig -## -CONFIG_RPCSEC_GSS_KRB5=y - -## ## file: net/wanrouter/Kconfig ## CONFIG_WAN_ROUTER=m @@ -1857,29 +1627,6 @@ CONFIG_WIRELESS_EXT=y CONFIG_X25=m ## -## file: sound/Kconfig -## -CONFIG_SOUND=y -CONFIG_SOUND_PRIME=m - -## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## ## file: sound/drivers/Kconfig ## CONFIG_SND_DUMMY=m @@ -1892,16 +1639,6 @@ CONFIG_SND_PORTMAN2X4=m CONFIG_SND_AC97_POWER_SAVE=y ## -## file: sound/oss/Kconfig -## -CONFIG_SOUND_MSNDCLAS=m -CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" -CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" -CONFIG_SOUND_MSNDPIN=m -CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" -CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" - -## ## file: sound/pci/Kconfig ## CONFIG_SND_AD1889=m diff --git a/config/mips/config.r4k-ip22 b/config/mips/config.r4k-ip22 index e445e9c..b8deb4f 100644 --- a/config/mips/config.r4k-ip22 +++ b/config/mips/config.r4k-ip22 @@ -28,10 +28,6 @@ CONFIG_SGI_IP22=y # CONFIG_SIBYTE_SENTOSA is not set # CONFIG_SIBYTE_BIGSUR is not set ## end choice -## choice: Endianess selection -CONFIG_CPU_BIG_ENDIAN=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -## end choice CONFIG_ARC_CONSOLE=y ## choice: CPU type # CONFIG_CPU_MIPS32_R1 is not set @@ -146,6 +142,7 @@ CONFIG_EISA_NAMES=y ## file: drivers/hwmon/Kconfig ## CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set @@ -155,8 +152,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_IT87 is not set @@ -180,7 +175,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set ## ## file: drivers/i2c/Kconfig @@ -202,13 +196,6 @@ CONFIG_I2C_CHARDEV=m # CONFIG_I2C_STUB is not set ## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_MAX6875 is not set - -## ## file: drivers/ide/Kconfig ## # CONFIG_IDE is not set @@ -233,10 +220,10 @@ CONFIG_I2C_CHARDEV=m ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -275,11 +262,6 @@ CONFIG_SERIO_RAW=y # CONFIG_ISDN is not set ## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m - -## ## file: drivers/media/radio/Kconfig ## # CONFIG_RADIO_CADET is not set @@ -327,12 +309,6 @@ CONFIG_VIDEO_VINO=m ## ## file: drivers/net/Kconfig ## -CONFIG_NETDEVICES=y -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y # CONFIG_NET_VENDOR_3COM is not set CONFIG_NET_VENDOR_SMC=y CONFIG_WD80x3=m @@ -398,23 +374,15 @@ CONFIG_SGISEEQ=y ## ## file: drivers/rtc/Kconfig ## -CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_DS1286=y ## ## file: drivers/scsi/Kconfig ## -CONFIG_RAID_ATTRS=m CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=m # CONFIG_CHR_DEV_OSST is not set CONFIG_BLK_DEV_SR=y -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_MULTI_LUN=y -CONFIG_SCSI_CONSTANTS=y # CONFIG_SCSI_LOGGING is not set CONFIG_SGIWD93_SCSI=y # CONFIG_SCSI_AHA1740 is not set @@ -430,7 +398,6 @@ CONFIG_SGIWD93_SCSI=y # CONFIG_SCSI_SIM710 is not set # CONFIG_SCSI_SYM53C416 is not set # CONFIG_SCSI_T128 is not set -# CONFIG_SCSI_DEBUG is not set ## ## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx @@ -494,21 +461,12 @@ CONFIG_LOGO_SGI_CLUT224=y ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_SOFT_WATCHDOG is not set CONFIG_INDYDOG=m # CONFIG_PCWATCHDOG is not set # CONFIG_MIXCOMWD is not set # CONFIG_WDT is not set ## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## ## file: fs/cramfs/Kconfig ## CONFIG_CRAMFS=y @@ -526,8 +484,6 @@ CONFIG_EXT3_FS=y ## ## file: fs/partitions/Kconfig ## -CONFIG_PARTITION_ADVANCED=y -CONFIG_MSDOS_PARTITION=y CONFIG_SGI_PARTITION=y CONFIG_KARMA_PARTITION=y @@ -591,23 +547,6 @@ CONFIG_FLATMEM_MANUAL=y # CONFIG_WAN_ROUTER is not set ## -## file: sound/Kconfig -## -CONFIG_SND=m - -## -## file: sound/core/Kconfig -## -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_RTCTIMER=m -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## ## file: sound/drivers/Kconfig ## # CONFIG_SND_DUMMY is not set diff --git a/config/mips/config.r5k-ip32 b/config/mips/config.r5k-ip32 index a0135ac..180e467 100644 --- a/config/mips/config.r5k-ip32 +++ b/config/mips/config.r5k-ip32 @@ -28,10 +28,6 @@ CONFIG_SGI_IP32=y # CONFIG_SIBYTE_SENTOSA is not set # CONFIG_SIBYTE_BIGSUR is not set ## end choice -## choice: Endianess selection -CONFIG_CPU_BIG_ENDIAN=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -## end choice ## choice: CPU type # CONFIG_CPU_MIPS32_R1 is not set # CONFIG_CPU_MIPS32_R2 is not set @@ -157,6 +153,7 @@ CONFIG_USB_MOUSE=m ## file: drivers/hwmon/Kconfig ## CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set @@ -166,8 +163,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_IT87 is not set @@ -194,7 +189,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set ## ## file: drivers/i2c/Kconfig @@ -230,13 +224,6 @@ CONFIG_I2C_CHARDEV=m # CONFIG_SCx200_ACB is not set ## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_MAX6875 is not set - -## ## file: drivers/ide/Kconfig ## # CONFIG_IDE is not set @@ -266,10 +253,10 @@ CONFIG_I2C_CHARDEV=m ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -307,11 +294,6 @@ CONFIG_SERIO_RAW=y # CONFIG_ISDN is not set ## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m - -## ## file: drivers/media/radio/Kconfig ## # CONFIG_RADIO_GEMTEK_PCI is not set @@ -375,12 +357,6 @@ CONFIG_VIDEO_DEV=m ## ## file: drivers/net/Kconfig ## -CONFIG_NETDEVICES=y -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y CONFIG_SGI_O2MACE_ETH=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set @@ -448,23 +424,15 @@ CONFIG_PARPORT_IP32=m ## ## file: drivers/rtc/Kconfig ## -CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_CMOS=y ## ## file: drivers/scsi/Kconfig ## -CONFIG_RAID_ATTRS=m CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=m # CONFIG_CHR_DEV_OSST is not set CONFIG_BLK_DEV_SR=y -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_MULTI_LUN=y -CONFIG_SCSI_CONSTANTS=y # CONFIG_SCSI_LOGGING is not set # CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_SCSI_3W_9XXX is not set @@ -482,7 +450,6 @@ CONFIG_SCSI_CONSTANTS=y # CONFIG_SCSI_LPFC is not set # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_DEBUG is not set ## ## file: drivers/scsi/aic7xxx/Kconfig.aic79xx @@ -539,16 +506,6 @@ CONFIG_SPI_BUTTERFLY=m CONFIG_USB=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -CONFIG_USB_DEVICEFS=y - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -556,11 +513,6 @@ CONFIG_USB_OHCI_HCD=m CONFIG_USB_UHCI_HCD=m ## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m - -## ## file: drivers/video/Kconfig ## CONFIG_FB=y @@ -616,19 +568,10 @@ CONFIG_LOGO_SGI_CLUT224=y ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_SOFT_WATCHDOG is not set # CONFIG_PCIPCWATCHDOG is not set # CONFIG_WDTPCI is not set ## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## ## file: fs/cramfs/Kconfig ## CONFIG_CRAMFS=y @@ -646,23 +589,8 @@ CONFIG_EXT3_FS=y ## ## file: fs/partitions/Kconfig ## -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set CONFIG_KARMA_PARTITION=y -# CONFIG_EFI_PARTITION is not set ## ## file: init/Kconfig @@ -686,23 +614,6 @@ CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=y ## -## file: sound/Kconfig -## -CONFIG_SND=m - -## -## file: sound/core/Kconfig -## -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_RTCTIMER=m -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## ## file: sound/drivers/Kconfig ## # CONFIG_SND_DUMMY is not set @@ -717,16 +628,6 @@ CONFIG_SND_MIPS=y CONFIG_SND_SGI_O2=m ## -## file: sound/oss/Kconfig -## -# CONFIG_SOUND_MSNDCLAS is not set -CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" -CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" -# CONFIG_SOUND_MSNDPIN is not set -CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" -CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" - -## ## file: sound/pci/Kconfig ## # CONFIG_SND_AD1889 is not set diff --git a/config/mips/config.sb1-bcm91250a b/config/mips/config.sb1-bcm91250a index edde4f6..1735e55 100644 --- a/config/mips/config.sb1-bcm91250a +++ b/config/mips/config.sb1-bcm91250a @@ -28,10 +28,6 @@ CONFIG_SIBYTE_SWARM=y # CONFIG_SIBYTE_SENTOSA is not set # CONFIG_SIBYTE_BIGSUR is not set ## end choice -## choice: Endianess selection -CONFIG_CPU_BIG_ENDIAN=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -## end choice ## choice: CPU type # CONFIG_CPU_MIPS32_R1 is not set # CONFIG_CPU_MIPS32_R2 is not set @@ -108,10 +104,8 @@ CONFIG_CPU_SB1_PASS_2_2=y # CONFIG_CPU_SB1_PASS_2_112x is not set # CONFIG_CPU_SB1_PASS_3 is not set ## end choice -# CONFIG_SIMULATION is not set # CONFIG_SB1_CEX_ALWAYS_FATAL is not set # CONFIG_SB1_CERR_STALL is not set -CONFIG_SIBYTE_CFE=y # CONFIG_SIBYTE_CFE_CONSOLE is not set # CONFIG_SIBYTE_BUS_WATCHER is not set # CONFIG_SIBYTE_TBPROF is not set @@ -204,6 +198,7 @@ CONFIG_USB_HID=m ## file: drivers/hwmon/Kconfig ## CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set @@ -213,8 +208,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_IT87 is not set @@ -241,7 +234,6 @@ CONFIG_SENSORS_VT8231=m # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set ## ## file: drivers/i2c/Kconfig @@ -278,13 +270,6 @@ CONFIG_I2C_STUB=m # CONFIG_SCx200_ACB is not set ## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_MAX6875 is not set - -## ## file: drivers/ide/Kconfig ## # CONFIG_IDE is not set @@ -314,10 +299,10 @@ CONFIG_I2C_STUB=m ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -354,29 +339,6 @@ CONFIG_SERIO_LIBPS2=y # CONFIG_ISDN is not set ## -## file: drivers/md/Kconfig -## -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m - -## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m - -## ## file: drivers/media/radio/Kconfig ## # CONFIG_RADIO_GEMTEK_PCI is not set @@ -477,12 +439,6 @@ CONFIG_USB_ET61X251=m ## ## file: drivers/net/Kconfig ## -CONFIG_NETDEVICES=y -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set @@ -565,28 +521,12 @@ CONFIG_BROADCOM_PHY=y ## ## file: drivers/scsi/Kconfig ## -CONFIG_RAID_ATTRS=m CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m # CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m # CONFIG_SCSI_SAS_ATTRS is not set -CONFIG_ISCSI_TCP=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_DMX3191D=m CONFIG_SCSI_FUTURE_DOMAIN=m CONFIG_SCSI_IPS=m @@ -661,19 +601,6 @@ CONFIG_USB=m # CONFIG_USB_USS720 is not set ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -# CONFIG_USB_PRINTER is not set - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -684,51 +611,11 @@ CONFIG_USB_UHCI_HCD=m CONFIG_USB_SL811_HCD=m ## -## file: drivers/usb/image/Kconfig -## -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -## -## file: drivers/usb/misc/Kconfig -## -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TEST is not set - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m -# CONFIG_USB_SISUSBVGA_CON is not set - -## ## file: drivers/usb/mon/Kconfig ## CONFIG_USB_MON=y ## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -CONFIG_USB_STORAGE_ALAUDA=y -CONFIG_USB_STORAGE_ONETOUCH=y -# CONFIG_USB_LIBUSUAL is not set - -## ## file: drivers/video/Kconfig ## CONFIG_FB=y @@ -751,7 +638,6 @@ CONFIG_FB_MATROX_MILLENIUM=y CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y # CONFIG_FB_MATROX_I2C is not set -# CONFIG_FB_MATROX_MULTIHEAD is not set CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y # CONFIG_FB_RADEON_DEBUG is not set @@ -797,20 +683,11 @@ CONFIG_LOGO=y ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_SOFT_WATCHDOG is not set # CONFIG_PCIPCWATCHDOG is not set # CONFIG_WDTPCI is not set # CONFIG_USBPCWATCHDOG is not set ## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## ## file: fs/cramfs/Kconfig ## CONFIG_CRAMFS=y @@ -834,23 +711,8 @@ CONFIG_ROOT_NFS=y ## ## file: fs/partitions/Kconfig ## -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set CONFIG_KARMA_PARTITION=y -# CONFIG_EFI_PARTITION is not set ## ## file: init/Kconfig @@ -919,26 +781,6 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_X25 is not set ## -## file: sound/Kconfig -## -CONFIG_SOUND=y -CONFIG_SOUND_PRIME=y - -## -## file: sound/core/Kconfig -## -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## ## file: sound/drivers/Kconfig ## # CONFIG_SND_DUMMY is not set @@ -948,17 +790,6 @@ CONFIG_SND_VIRMIDI=m # CONFIG_SND_MPU401 is not set ## -## file: sound/oss/Kconfig -## -# CONFIG_SOUND_BCM_CS4297A is not set -# CONFIG_SOUND_MSNDCLAS is not set -CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" -CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" -# CONFIG_SOUND_MSNDPIN is not set -CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" -CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" - -## ## file: sound/pci/Kconfig ## CONFIG_SND_AD1889=m @@ -1017,4 +848,6 @@ CONFIG_BLK_DEV_IDE_SWARM=y # CONFIG_LAN_SAA9730 is not set # CONFIG_MIPS_ATLAS is not set # CONFIG_MIPS_SEAD is not set +CONFIG_SIBYTE_CFE=y +# CONFIG_SIMULATION is not set diff --git a/config/mips/config.sb1a-bcm91480b b/config/mips/config.sb1a-bcm91480b index a120128..0bcac78 100644 --- a/config/mips/config.sb1a-bcm91480b +++ b/config/mips/config.sb1a-bcm91480b @@ -28,10 +28,6 @@ # CONFIG_SIBYTE_SENTOSA is not set CONFIG_SIBYTE_BIGSUR=y ## end choice -## choice: Endianess selection -CONFIG_CPU_BIG_ENDIAN=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -## end choice ## choice: CPU type # CONFIG_CPU_MIPS32_R1 is not set # CONFIG_CPU_MIPS32_R2 is not set @@ -108,10 +104,8 @@ CONFIG_CMDLINE="" # CONFIG_CPU_SB1_PASS_2_112x is not set # CONFIG_CPU_SB1_PASS_3 is not set ## end choice -# CONFIG_SIMULATION is not set # CONFIG_SB1_CEX_ALWAYS_FATAL is not set # CONFIG_SB1_CERR_STALL is not set -CONFIG_SIBYTE_CFE=y # CONFIG_SIBYTE_CFE_CONSOLE is not set # CONFIG_SIBYTE_BUS_WATCHER is not set # CONFIG_SIBYTE_TBPROF is not set @@ -205,6 +199,7 @@ CONFIG_USB_HID=m ## file: drivers/hwmon/Kconfig ## CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set @@ -214,8 +209,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_IT87 is not set @@ -242,7 +235,6 @@ CONFIG_SENSORS_VT8231=m # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set ## ## file: drivers/i2c/Kconfig @@ -279,13 +271,6 @@ CONFIG_I2C_STUB=m # CONFIG_SCx200_ACB is not set ## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_MAX6875 is not set - -## ## file: drivers/ide/Kconfig ## CONFIG_IDE=y @@ -344,10 +329,10 @@ CONFIG_BLK_DEV_VIA82CXXX=m ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -384,29 +369,6 @@ CONFIG_SERIO_LIBPS2=y # CONFIG_ISDN is not set ## -## file: drivers/md/Kconfig -## -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m - -## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m - -## ## file: drivers/media/radio/Kconfig ## # CONFIG_RADIO_GEMTEK_PCI is not set @@ -507,12 +469,6 @@ CONFIG_USB_ET61X251=m ## ## file: drivers/net/Kconfig ## -CONFIG_NETDEVICES=y -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set @@ -595,28 +551,10 @@ CONFIG_BROADCOM_PHY=y ## ## file: drivers/scsi/Kconfig ## -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=m -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m # CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m # CONFIG_SCSI_SAS_ATTRS is not set -CONFIG_ISCSI_TCP=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_DMX3191D=m CONFIG_SCSI_FUTURE_DOMAIN=m CONFIG_SCSI_IPS=m @@ -691,19 +629,6 @@ CONFIG_USB=m # CONFIG_USB_USS720 is not set ## -## file: drivers/usb/class/Kconfig -## -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -714,51 +639,11 @@ CONFIG_USB_UHCI_HCD=m CONFIG_USB_SL811_HCD=m ## -## file: drivers/usb/image/Kconfig -## -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -## -## file: drivers/usb/misc/Kconfig -## -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TEST is not set - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m -# CONFIG_USB_SISUSBVGA_CON is not set - -## ## file: drivers/usb/mon/Kconfig ## CONFIG_USB_MON=y ## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -CONFIG_USB_STORAGE_ALAUDA=y -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_LIBUSUAL is not set - -## ## file: drivers/video/Kconfig ## CONFIG_FB=y @@ -781,7 +666,6 @@ CONFIG_FB_MATROX_MILLENIUM=y CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y # CONFIG_FB_MATROX_I2C is not set -# CONFIG_FB_MATROX_MULTIHEAD is not set CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y # CONFIG_FB_RADEON_DEBUG is not set @@ -827,20 +711,11 @@ CONFIG_LOGO=y ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_SOFT_WATCHDOG is not set # CONFIG_PCIPCWATCHDOG is not set # CONFIG_WDTPCI is not set # CONFIG_USBPCWATCHDOG is not set ## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## ## file: fs/cramfs/Kconfig ## CONFIG_CRAMFS=y @@ -864,23 +739,8 @@ CONFIG_ROOT_NFS=y ## ## file: fs/partitions/Kconfig ## -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set CONFIG_KARMA_PARTITION=y -# CONFIG_EFI_PARTITION is not set ## ## file: init/Kconfig @@ -949,26 +809,6 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_X25 is not set ## -## file: sound/Kconfig -## -CONFIG_SOUND=y -CONFIG_SOUND_PRIME=y - -## -## file: sound/core/Kconfig -## -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## ## file: sound/drivers/Kconfig ## # CONFIG_SND_DUMMY is not set @@ -978,16 +818,6 @@ CONFIG_SND_SERIAL_U16550=m # CONFIG_SND_MPU401 is not set ## -## file: sound/oss/Kconfig -## -# CONFIG_SOUND_MSNDCLAS is not set -CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" -CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" -# CONFIG_SOUND_MSNDPIN is not set -CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" -CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" - -## ## file: sound/pci/Kconfig ## CONFIG_SND_AD1889=m @@ -1046,4 +876,6 @@ CONFIG_SND_HDA_INTEL=m # CONFIG_LAN_SAA9730 is not set # CONFIG_MIPS_ATLAS is not set # CONFIG_MIPS_SEAD is not set +CONFIG_SIBYTE_CFE=y +# CONFIG_SIMULATION is not set diff --git a/config/mips/defines b/config/mips/defines index 9ef8a94..194a501 100644 --- a/config/mips/defines +++ b/config/mips/defines @@ -11,26 +11,26 @@ kernel-arch: mips [image] initramfs: false -[r4k-ip22_base] -class: SGI IP22 -longclass: SGI IP22 (Indy, Indigo2) +[r4k-ip22_description] +hardware: SGI IP22 +hardware-long: SGI IP22 systems (Indy, Indigo2) -[r5k-ip32_base] -class: SGI IP32 -longclass: SGI IP32 (O2) +[r5k-ip32_description] +hardware: SGI IP32 +hardware-long: SGI IP32 systems (O2) -[sb1-bcm91250a_base] -class: BCM91250A -longclass: Broadcom BCM91250A (aka SWARM) +[sb1-bcm91250a_description] +hardware: BCM91250A +hardware-long: Broadcom BCM91250A systems (aka SWARM) -[sb1a-bcm91480b_base] -class: BCM91480B -longclass: Broadcom BCM91480B (aka BigSur) +[sb1a-bcm91480b_description] +hardware: BCM91480B +hardware-long: Broadcom BCM91480B systems (aka BigSur) -[4kc-malta_base] -class: MIPS Malta -longclass: MIPS Malta board +[4kc-malta_description] +hardware: MIPS Malta +hardware-long: MIPS Malta boards -[5kc-malta_base] -class: MIPS Malta (64-bit) -longclass: MIPS Malta board (64-bit) +[5kc-malta_description] +hardware: MIPS Malta (64-bit) +hardware-long: MIPS Malta boards (64-bit) diff --git a/config/mipsel/config b/config/mipsel/config index 247b043..551edff 100644 --- a/config/mipsel/config +++ b/config/mipsel/config @@ -1,6 +1,10 @@ ## ## file: arch/mips/Kconfig ## +## choice: Endianess selection +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CPU_LITTLE_ENDIAN=y +## end choice CONFIG_SECCOMP=y ## diff --git a/config/mipsel/config.4kc-malta b/config/mipsel/config.4kc-malta deleted file mode 100644 index b3af1ed..0000000 --- a/config/mipsel/config.4kc-malta +++ /dev/null @@ -1,1657 +0,0 @@ -## -## file: arch/Kconfig -## -CONFIG_OPROFILE=m - -## -## file: arch/mips/Kconfig -## -## choice: System type -# CONFIG_BASLER_EXCITE is not set -# CONFIG_MIPS_COBALT is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_LASAT is not set -CONFIG_MIPS_MALTA=y -# CONFIG_MIPS_SIM is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PNX8550_STB810 is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SWARM is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SNI_RM is not set -# CONFIG_WR_PPMC is not set -## end choice -## choice: Endianess selection -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_LITTLE_ENDIAN=y -## end choice -## choice: CPU type -CONFIG_CPU_MIPS32_R1=y -# CONFIG_CPU_MIPS32_R2 is not set -# CONFIG_CPU_MIPS64_R1 is not set -# CONFIG_CPU_MIPS64_R2 is not set -# CONFIG_CPU_R3000 is not set -# CONFIG_CPU_TX39XX is not set -# CONFIG_CPU_VR41XX is not set -# CONFIG_CPU_R4300 is not set -# CONFIG_CPU_R4X00 is not set -# CONFIG_CPU_TX49XX is not set -# CONFIG_CPU_R5000 is not set -# CONFIG_CPU_R5432 is not set -# CONFIG_CPU_R6000 is not set -# CONFIG_CPU_NEVADA is not set -# CONFIG_CPU_R8000 is not set -# CONFIG_CPU_R10000 is not set -# CONFIG_CPU_RM7000 is not set -# CONFIG_CPU_RM9000 is not set -# CONFIG_CPU_SB1 is not set -## end choice -## choice: Kernel code model -CONFIG_32BIT=y -# CONFIG_64BIT is not set -## end choice -## choice: Kernel page size -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_8KB is not set -# CONFIG_PAGE_SIZE_16KB is not set -# CONFIG_PAGE_SIZE_64KB is not set -## end choice -## choice: MIPS MT options -CONFIG_MIPS_MT_DISABLED=y -# CONFIG_MIPS_MT_SMP is not set -# CONFIG_MIPS_MT_SMTC is not set -## end choice -# CONFIG_MIPS_VPE_LOADER is not set -## choice: Timer frequency -# CONFIG_HZ_48 is not set -# CONFIG_HZ_100 is not set -# CONFIG_HZ_128 is not set -CONFIG_HZ_250=y -# CONFIG_HZ_256 is not set -# CONFIG_HZ_1000 is not set -# CONFIG_HZ_1024 is not set -## end choice -# CONFIG_KEXEC is not set -CONFIG_PCI=y - -## -## file: arch/mips/alchemy/Kconfig -## -## choice: Machine type -# CONFIG_MIPS_MTX1 is not set -# CONFIG_MIPS_BOSPORUS is not set -# CONFIG_MIPS_DB1000 is not set -# CONFIG_MIPS_DB1100 is not set -# CONFIG_MIPS_DB1200 is not set -# CONFIG_MIPS_DB1500 is not set -# CONFIG_MIPS_DB1550 is not set -# CONFIG_MIPS_MIRAGE is not set -# CONFIG_MIPS_PB1000 is not set -# CONFIG_MIPS_PB1100 is not set -# CONFIG_MIPS_PB1200 is not set -# CONFIG_MIPS_PB1500 is not set -# CONFIG_MIPS_PB1550 is not set -# CONFIG_MIPS_XXS1500 is not set -## end choice - -## -## file: arch/mips/Kconfig.debug -## -CONFIG_CMDLINE="" - -## -## file: arch/mips/txx9/Kconfig -## -# CONFIG_TOSHIBA_JMR3927 is not set -# CONFIG_TOSHIBA_RBTX4927 is not set -# CONFIG_TOSHIBA_RBTX4938 is not set - -## -## file: drivers/ata/Kconfig -## -CONFIG_ATA=y -CONFIG_SATA_AHCI=y -CONFIG_SATA_SIL24=y -# CONFIG_SATA_SVW is not set -# CONFIG_ATA_PIIX is not set -CONFIG_SATA_MV=y -# CONFIG_SATA_NV is not set -# CONFIG_PDC_ADMA is not set -# CONFIG_SATA_QSTOR is not set -CONFIG_SATA_PROMISE=y -CONFIG_SATA_SX4=y -CONFIG_SATA_SIL=y -# CONFIG_SATA_SIS is not set -# CONFIG_SATA_ULI is not set -# CONFIG_SATA_VIA is not set -# CONFIG_SATA_VITESSE is not set -# CONFIG_ATA_GENERIC is not set - -## -## file: drivers/atm/Kconfig -## -CONFIG_ATM_DRIVERS=y -CONFIG_ATM_DUMMY=m -CONFIG_ATM_TCP=m -CONFIG_ATM_LANAI=m -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_DEBUG is not set -# CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set -CONFIG_ATM_NICSTAR=m -# CONFIG_ATM_NICSTAR_USE_SUNI is not set -# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set -CONFIG_ATM_IDT77252=m -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set -CONFIG_ATM_IA=m -# CONFIG_ATM_IA_DEBUG is not set -# CONFIG_ATM_FORE200E_USE_TASKLET is not set -CONFIG_ATM_FORE200E_TX_RETRY=16 -CONFIG_ATM_FORE200E_DEBUG=0 -CONFIG_ATM_HE=m -CONFIG_ATM_HE_USE_SUNI=y - -## -## file: drivers/block/Kconfig -## -CONFIG_BLK_DEV_FD=m -CONFIG_PARIDE=m -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_CISS_SCSI_TAPE=y -CONFIG_BLK_DEV_DAC960=m -CONFIG_BLK_DEV_UMEM=m -CONFIG_BLK_DEV_SX8=m -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -## -## file: drivers/block/paride/Kconfig -## -CONFIG_PARIDE_PD=m -CONFIG_PARIDE_PCD=m -CONFIG_PARIDE_PF=m -CONFIG_PARIDE_PT=m -CONFIG_PARIDE_PG=m -CONFIG_PARIDE_ATEN=m -CONFIG_PARIDE_BPCK=m -# CONFIG_PARIDE_BPCK6 is not set -CONFIG_PARIDE_COMM=m -CONFIG_PARIDE_DSTR=m -CONFIG_PARIDE_FIT2=m -CONFIG_PARIDE_FIT3=m -CONFIG_PARIDE_EPAT=m -# CONFIG_PARIDE_EPATC8 is not set -CONFIG_PARIDE_EPIA=m -CONFIG_PARIDE_FRIQ=m -CONFIG_PARIDE_FRPW=m -CONFIG_PARIDE_KBIC=m -CONFIG_PARIDE_KTTI=m -CONFIG_PARIDE_ON20=m -CONFIG_PARIDE_ON26=m - -## -## file: drivers/bluetooth/Kconfig -## -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIVHCI=m - -## -## file: drivers/char/Kconfig -## -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_SERIAL_NONSTANDARD is not set -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -CONFIG_PPDEV=m -CONFIG_DTLK=m -CONFIG_APPLICOM=m - -## -## file: drivers/char/ipmi/Kconfig -## -CONFIG_IPMI_HANDLER=m -# CONFIG_IPMI_PANIC_EVENT is not set -# CONFIG_IPMI_DEVICE_INTERFACE is not set -CONFIG_IPMI_SI=m -CONFIG_IPMI_WATCHDOG=m -CONFIG_IPMI_POWEROFF=m - -## -## file: drivers/char/tpm/Kconfig -## -# CONFIG_TCG_TPM is not set - -## -## file: drivers/gpu/drm/Kconfig -## -CONFIG_DRM=m -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -CONFIG_DRM_MGA=m -CONFIG_DRM_VIA=m -CONFIG_DRM_SAVAGE=m - -## -## file: drivers/hid/Kconfig -## -CONFIG_HID=y - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -## -## file: drivers/hwmon/Kconfig -## -CONFIG_HWMON=y -# CONFIG_SENSORS_ABITUGURU is not set -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -CONFIG_SENSORS_DS1621=m -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM70=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_MAX1619=m -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -CONFIG_SENSORS_PCF8591=m -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_VT8231 is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set - -## -## file: drivers/i2c/busses/Kconfig -## -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -CONFIG_I2C_PIIX4=m -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_OCORES is not set -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_VOODOO3=m -# CONFIG_I2C_PCA_ISA is not set -# CONFIG_I2C_STUB is not set - -## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m -CONFIG_SENSORS_PCA9539=m -CONFIG_SENSORS_MAX6875=m - -## -## file: drivers/ide/Kconfig -## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_GENERIC=y -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=y -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -CONFIG_BLK_DEV_CMD64X=y -# CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_CY82C693 is not set -# CONFIG_BLK_DEV_CS5520 is not set -# CONFIG_BLK_DEV_CS5530 is not set -CONFIG_BLK_DEV_HPT366=y -# CONFIG_BLK_DEV_JMICRON is not set -# CONFIG_BLK_DEV_SC1200 is not set -CONFIG_BLK_DEV_PIIX=y -# CONFIG_BLK_DEV_IT821X is not set -# CONFIG_BLK_DEV_NS87415 is not set -CONFIG_BLK_DEV_PDC202XX_OLD=y -CONFIG_BLK_DEV_PDC202XX_NEW=y -# CONFIG_BLK_DEV_SVWKS is not set -CONFIG_BLK_DEV_SIIMAGE=y -# CONFIG_BLK_DEV_SLC90E66 is not set -# CONFIG_BLK_DEV_TRM290 is not set -# CONFIG_BLK_DEV_VIA82CXXX is not set - -## -## file: drivers/input/gameport/Kconfig -## -CONFIG_GAMEPORT=m -# CONFIG_GAMEPORT_NS558 is not set -# CONFIG_GAMEPORT_L4 is not set -CONFIG_GAMEPORT_EMU10K1=m -CONFIG_GAMEPORT_FM801=m - -## -## file: drivers/input/joystick/Kconfig -## -CONFIG_INPUT_JOYSTICK=y - -## -## file: drivers/input/keyboard/Kconfig -## -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_SUNKBD=m -CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_XTKBD=m -CONFIG_KEYBOARD_NEWTON=m -CONFIG_KEYBOARD_STOWAWAY=m - -## -## file: drivers/input/misc/Kconfig -## -# CONFIG_INPUT_MISC is not set - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=m -CONFIG_MOUSE_SERIAL=m -CONFIG_MOUSE_APPLETOUCH=m -CONFIG_MOUSE_VSXXXAA=m - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=m -CONFIG_SERIO_PARKBD=m -CONFIG_SERIO_PCIPS2=y -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=m - -## -## file: drivers/input/tablet/Kconfig -## -CONFIG_INPUT_TABLET=y -CONFIG_TABLET_USB_ACECAD=m -CONFIG_TABLET_USB_AIPTEK=m -CONFIG_TABLET_USB_GTCO=m -CONFIG_TABLET_USB_KBTAB=m -CONFIG_TABLET_USB_WACOM=m - -## -## file: drivers/input/touchscreen/Kconfig -## -CONFIG_INPUT_TOUCHSCREEN=y - -## -## file: drivers/isdn/Kconfig -## -CONFIG_ISDN=y -CONFIG_ISDN_I4L=m -CONFIG_ISDN_CAPI=m - -## -## file: drivers/isdn/capi/Kconfig -## -CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y -CONFIG_ISDN_CAPI_MIDDLEWARE=y -CONFIG_ISDN_CAPI_CAPI20=m -CONFIG_ISDN_CAPI_CAPIFS_BOOL=y -CONFIG_ISDN_CAPI_CAPIDRV=m - -## -## file: drivers/isdn/gigaset/Kconfig -## -CONFIG_ISDN_DRV_GIGASET=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_M105=m -# CONFIG_GIGASET_DEBUG is not set -# CONFIG_GIGASET_UNDOCREQ is not set - -## -## file: drivers/isdn/hardware/avm/Kconfig -## -CONFIG_CAPI_AVM=y -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_AVMB1_C4=m - -## -## file: drivers/isdn/hardware/eicon/Kconfig -## -CONFIG_CAPI_EICON=y -CONFIG_ISDN_DIVAS=m -CONFIG_ISDN_DIVAS_BRIPCI=y -CONFIG_ISDN_DIVAS_PRIPCI=y -CONFIG_ISDN_DIVAS_DIVACAPI=m -CONFIG_ISDN_DIVAS_USERIDI=m -CONFIG_ISDN_DIVAS_MAINT=m - -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_3=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y -CONFIG_ISDN_DRV_LOOP=m -CONFIG_ISDN_DIVERSION=m - -## -## file: drivers/leds/Kconfig -## -# CONFIG_NEW_LEDS is not set - -## -## file: drivers/md/Kconfig -## -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID456=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -# CONFIG_DM_DEBUG is not set -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m - -## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_V4L1_COMPAT=y -CONFIG_DVB_CORE=m - -## -## file: drivers/media/dvb/frontends/Kconfig -## -# CONFIG_DVB_FE_CUSTOMISE is not set -CONFIG_DVB_TDA826X=m -CONFIG_DVB_TUA6100=m -CONFIG_DVB_PLL=m -CONFIG_DVB_LNBP21=m -CONFIG_DVB_ISL6421=m - -## -## file: drivers/media/radio/Kconfig -## -CONFIG_RADIO_GEMTEK_PCI=m -CONFIG_RADIO_MAXIRADIO=m -CONFIG_RADIO_MAESTRO=m -CONFIG_USB_DSBR=m - -## -## file: drivers/media/video/Kconfig -## -# CONFIG_VIDEO_ADV_DEBUG is not set -CONFIG_VIDEO_HELPER_CHIPS_AUTO=y -CONFIG_VIDEO_TVAUDIO=m -CONFIG_VIDEO_TDA7432=m -CONFIG_VIDEO_TDA9840=m -CONFIG_VIDEO_TDA9875=m -CONFIG_VIDEO_TEA6415C=m -CONFIG_VIDEO_TEA6420=m -CONFIG_VIDEO_MSP3400=m -CONFIG_VIDEO_WM8775=m -CONFIG_VIDEO_SAA6588=m -CONFIG_VIDEO_BT819=m -CONFIG_VIDEO_BT856=m -CONFIG_VIDEO_KS0127=m -CONFIG_VIDEO_OV7670=m -CONFIG_VIDEO_SAA7110=m -CONFIG_VIDEO_SAA711X=m -CONFIG_VIDEO_TVP5150=m -CONFIG_VIDEO_VPX3220=m -CONFIG_VIDEO_CX2341X=m -CONFIG_VIDEO_SAA7185=m -CONFIG_VIDEO_ADV7170=m -CONFIG_VIDEO_ADV7175=m -CONFIG_VIDEO_VIVI=m -CONFIG_VIDEO_BWQCAM=m -CONFIG_VIDEO_CQCAM=m -CONFIG_VIDEO_W9966=m -CONFIG_VIDEO_CPIA=m -CONFIG_VIDEO_CPIA_PP=m -CONFIG_VIDEO_CPIA_USB=m -CONFIG_VIDEO_SAA5246A=m -CONFIG_VIDEO_SAA5249=m -CONFIG_VIDEO_STRADIS=m -CONFIG_VIDEO_MXB=m -CONFIG_VIDEO_HEXIUM_ORION=m -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_VIDEO_OVCAMCHIP=m - -## -## file: drivers/media/video/bt8xx/Kconfig -## -CONFIG_VIDEO_BT848=m -CONFIG_VIDEO_BT848_DVB=y - -## -## file: drivers/media/video/cpia2/Kconfig -## -CONFIG_VIDEO_CPIA2=m - -## -## file: drivers/media/video/cx25840/Kconfig -## -CONFIG_VIDEO_CX25840=m - -## -## file: drivers/media/video/cx88/Kconfig -## -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_CX88_ALSA=m -CONFIG_VIDEO_CX88_BLACKBIRD=m -CONFIG_VIDEO_CX88_DVB=m -CONFIG_VIDEO_CX88_VP3054=m - -## -## file: drivers/media/video/em28xx/Kconfig -## -CONFIG_VIDEO_EM28XX=m - -## -## file: drivers/media/video/et61x251/Kconfig -## -CONFIG_USB_ET61X251=m - -## -## file: drivers/media/video/pvrusb2/Kconfig -## -CONFIG_VIDEO_PVRUSB2=m -CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set - -## -## file: drivers/media/video/saa7134/Kconfig -## -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_SAA7134_ALSA=m -CONFIG_VIDEO_SAA7134_DVB=m - -## -## file: drivers/media/video/usbvision/Kconfig -## -CONFIG_VIDEO_USBVISION=m - -## -## file: drivers/media/video/zc0301/Kconfig -## -CONFIG_USB_ZC0301=m - -## -## file: drivers/media/video/zoran/Kconfig -## -CONFIG_VIDEO_ZORAN=m -CONFIG_VIDEO_ZORAN_DC30=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_ZORAN_AVS6EYES=m - -## -## file: drivers/message/i2o/Kconfig -## -CONFIG_I2O=m -CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y -CONFIG_I2O_EXT_ADAPTEC=y -CONFIG_I2O_CONFIG=m -CONFIG_I2O_CONFIG_OLD_IOCTL=y -CONFIG_I2O_BUS=m -CONFIG_I2O_BLOCK=m -CONFIG_I2O_SCSI=m -CONFIG_I2O_PROC=m - -## -## file: drivers/misc/Kconfig -## -# CONFIG_SGI_IOC4 is not set -CONFIG_TIFM_CORE=m -CONFIG_TIFM_7XX1=m - -## -## file: drivers/mmc/Kconfig -## -CONFIG_MMC=m -# CONFIG_MMC_DEBUG is not set - -## -## file: drivers/mmc/card/Kconfig -## -CONFIG_MMC_BLOCK=m - -## -## file: drivers/mtd/Kconfig -## -CONFIG_MTD=m -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_CONCAT=m -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=y -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=m -CONFIG_MTD_BLOCK=m -CONFIG_MTD_BLOCK_RO=m -CONFIG_FTL=m -CONFIG_NFTL=m -CONFIG_NFTL_RW=y -CONFIG_INFTL=m -CONFIG_RFD_FTL=m -CONFIG_SSFDC=m - -## -## file: drivers/mtd/chips/Kconfig -## -CONFIG_MTD_CFI=m -CONFIG_MTD_JEDECPROBE=m -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=m -CONFIG_MTD_CFI_AMDSTD=m -CONFIG_MTD_CFI_STAA=m -CONFIG_MTD_RAM=m -CONFIG_MTD_ROM=m -CONFIG_MTD_ABSENT=m - -## -## file: drivers/mtd/devices/Kconfig -## -CONFIG_MTD_PMC551=m -# CONFIG_MTD_PMC551_BUGFIX is not set -# CONFIG_MTD_PMC551_DEBUG is not set -CONFIG_MTD_DATAFLASH=m -CONFIG_MTD_M25P80=m -CONFIG_MTD_SLRAM=m -CONFIG_MTD_PHRAM=m -CONFIG_MTD_MTDRAM=m -CONFIG_MTDRAM_TOTAL_SIZE=4096 -CONFIG_MTDRAM_ERASE_SIZE=128 -CONFIG_MTD_BLOCK2MTD=m -CONFIG_MTD_DOC2000=m -CONFIG_MTD_DOC2001=m -CONFIG_MTD_DOC2001PLUS=m -# CONFIG_MTD_DOCPROBE_ADVANCED is not set -CONFIG_MTD_DOCPROBE_ADDRESS=0 - -## -## file: drivers/mtd/maps/Kconfig -## -CONFIG_MTD_COMPLEX_MAPPINGS=y -CONFIG_MTD_PHYSMAP=m -CONFIG_MTD_PHYSMAP_START=0x8000000 -CONFIG_MTD_PHYSMAP_LEN=0x0 -CONFIG_MTD_PHYSMAP_BANKWIDTH=2 -CONFIG_MTD_PCI=m -CONFIG_MTD_PLATRAM=m - -## -## file: drivers/mtd/nand/Kconfig -## -CONFIG_MTD_NAND=m -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -# CONFIG_MTD_NAND_ECC_SMC is not set -CONFIG_MTD_NAND_DISKONCHIP=m -# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set -CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 -# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set -CONFIG_MTD_NAND_CAFE=m - -## -## file: drivers/mtd/onenand/Kconfig -## -CONFIG_MTD_ONENAND=m -CONFIG_MTD_ONENAND_VERIFY_WRITE=y -# CONFIG_MTD_ONENAND_OTP is not set - -## -## file: drivers/net/Kconfig -## -CONFIG_NETDEVICES=y -CONFIG_IFB=m -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_CASSINI is not set -CONFIG_NET_VENDOR_3COM=y -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -# CONFIG_DM9000 is not set -# CONFIG_HP100 is not set -CONFIG_NET_PCI=y -CONFIG_PCNET32=y -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_B44=m -# CONFIG_FORCEDETH is not set -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_TLAN=m -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_NET_POCKET=y -CONFIG_DE600=m -CONFIG_DE620=m -CONFIG_FDDI=y -CONFIG_SKFP=m -CONFIG_HIPPI=y -CONFIG_ROADRUNNER=m -# CONFIG_ROADRUNNER_LARGE_RINGS is not set -CONFIG_PLIP=m -CONFIG_NET_FC=y -# CONFIG_NETPOLL_TRAP is not set - -## -## file: drivers/net/arcnet/Kconfig -## -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -CONFIG_ARCNET_1051=m -CONFIG_ARCNET_RAW=m -CONFIG_ARCNET_CAP=m -CONFIG_ARCNET_COM90xx=m -CONFIG_ARCNET_COM90xxIO=m -CONFIG_ARCNET_RIM_I=m -CONFIG_ARCNET_COM20020=m -CONFIG_ARCNET_COM20020_PCI=m - -## -## file: drivers/net/hamradio/Kconfig -## -CONFIG_MKISS=m -CONFIG_6PACK=m -CONFIG_BPQETHER=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_BAYCOM_EPP=m -CONFIG_YAM=m - -## -## file: drivers/net/irda/Kconfig -## -CONFIG_IRTTY_SIR=m -CONFIG_USB_IRDA=m -CONFIG_SIGMATEL_FIR=m -CONFIG_TOSHIBA_FIR=m -CONFIG_VLSI_FIR=m -CONFIG_MCS_FIR=m - -## -## file: drivers/net/phy/Kconfig -## -CONFIG_PHYLIB=m -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -# CONFIG_QSEMI_PHY is not set -CONFIG_LXT_PHY=m -# CONFIG_CICADA_PHY is not set -# CONFIG_VITESSE_PHY is not set -CONFIG_SMSC_PHY=m -CONFIG_BROADCOM_PHY=m -CONFIG_FIXED_PHY=m - -## -## file: drivers/net/tulip/Kconfig -## -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -# CONFIG_TULIP_NAPI is not set -CONFIG_DE4X5=m -# CONFIG_WINBOND_840 is not set -CONFIG_DM9102=m -# CONFIG_ULI526X is not set - -## -## file: drivers/net/wan/Kconfig -## -CONFIG_WAN=y -CONFIG_LANMEDIA=m -CONFIG_PCI200SYN=m -CONFIG_WANXL=m -CONFIG_PC300=m -# CONFIG_PC300_MLPPP is not set -CONFIG_FARSYNC=m -CONFIG_DSCC4=m -# CONFIG_DSCC4_PCISYNC is not set -# CONFIG_DSCC4_PCI_RST is not set -CONFIG_DLCI=m -CONFIG_DLCI_MAX=8 -CONFIG_WAN_ROUTER_DRIVERS=m -CONFIG_CYCLADES_SYNC=m -CONFIG_CYCLOMX_X25=y -CONFIG_LAPBETHER=m -CONFIG_X25_ASY=m - -## -## file: drivers/net/wireless/Kconfig -## -CONFIG_WLAN_PRE80211=y -CONFIG_STRIP=m -CONFIG_WLAN_80211=y -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m -CONFIG_USB_ZD1201=m - -## -## file: drivers/net/wireless/hostap/Kconfig -## -CONFIG_HOSTAP=m -CONFIG_HOSTAP_FIRMWARE=y -# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set -CONFIG_HOSTAP_PLX=m -CONFIG_HOSTAP_PCI=m - -## -## file: drivers/net/wireless/ipw2x00/Kconfig -## -CONFIG_IPW2100=m -CONFIG_IPW2100_MONITOR=y -# CONFIG_IPW2100_DEBUG is not set -CONFIG_IPW2200=m -# CONFIG_IPW2200_MONITOR is not set -CONFIG_IPW2200_QOS=y -# CONFIG_IPW2200_DEBUG is not set - -## -## file: drivers/net/wireless/orinoco/Kconfig -## -CONFIG_HERMES=m -CONFIG_PLX_HERMES=m -CONFIG_TMD_HERMES=m -CONFIG_NORTEL_HERMES=m -CONFIG_PCI_HERMES=m - -## -## file: drivers/net/wireless/zd1211rw/Kconfig -## -CONFIG_ZD1211RW=m -# CONFIG_ZD1211RW_DEBUG is not set - -## -## file: drivers/parport/Kconfig -## -# CONFIG_PARPORT_AX88796 is not set - -## -## file: drivers/pci/hotplug/Kconfig -## -# CONFIG_HOTPLUG_PCI is not set - -## -## file: drivers/pcmcia/Kconfig -## -# CONFIG_PCCARD is not set - -## -## file: drivers/rtc/Kconfig -## -CONFIG_RTC_CLASS=y -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set -CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_DS1672=m -CONFIG_RTC_DRV_RS5C372=m -CONFIG_RTC_DRV_ISL1208=m -CONFIG_RTC_DRV_X1205=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_MAX6902=m -CONFIG_RTC_DRV_RS5C348=m -CONFIG_RTC_DRV_CMOS=y -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_DS1742 is not set -CONFIG_RTC_DRV_M48T86=m -# CONFIG_RTC_DRV_V3020 is not set - -## -## file: drivers/scsi/Kconfig -## -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=y -CONFIG_SCSI_TGT=m -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_MULTI_LUN=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_ISCSI_TCP=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX_OLD=m -CONFIG_SCSI_DPT_I2O=m -CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_HPTIOP=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_STEX=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_SYM53C8XX_MMIO=y -# CONFIG_SCSI_IPR is not set -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m -CONFIG_SCSI_NSP32=m -CONFIG_SCSI_DEBUG=m -CONFIG_SCSI_SRP=m - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic79xx -## -CONFIG_SCSI_AIC79XX=m -CONFIG_AIC79XX_CMDS_PER_DEVICE=32 -CONFIG_AIC79XX_RESET_DELAY_MS=15000 -CONFIG_AIC79XX_DEBUG_ENABLE=y -CONFIG_AIC79XX_DEBUG_MASK=0 -CONFIG_AIC79XX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -CONFIG_SCSI_AIC7XXX=m -CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 -CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -CONFIG_AIC7XXX_DEBUG_ENABLE=y -CONFIG_AIC7XXX_DEBUG_MASK=0 -CONFIG_AIC7XXX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/aic94xx/Kconfig -## -CONFIG_SCSI_AIC94XX=m -# CONFIG_AIC94XX_DEBUG is not set - -## -## file: drivers/scsi/libsas/Kconfig -## -CONFIG_SCSI_SAS_LIBSAS=m -# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m -CONFIG_MEGARAID_SAS=m - -## -## file: drivers/scsi/qla2xxx/Kconfig -## -CONFIG_SCSI_QLA_FC=m - -## -## file: drivers/scsi/qla4xxx/Kconfig -## -CONFIG_SCSI_QLA_ISCSI=m - -## -## file: drivers/serial/Kconfig -## -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -CONFIG_SERIAL_8250_EXTENDED=y -# CONFIG_SERIAL_8250_MANY_PORTS is not set -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_JSM=m - -## -## file: drivers/spi/Kconfig -## -CONFIG_SPI=y -CONFIG_SPI_BITBANG=m -CONFIG_SPI_BUTTERFLY=m - -## -## file: drivers/telephony/Kconfig -## -CONFIG_PHONE=m -CONFIG_PHONE_IXJ=m - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=y -CONFIG_USB_USS720=m - -## -## file: drivers/usb/atm/Kconfig -## -CONFIG_USB_ATM=m -CONFIG_USB_SPEEDTOUCH=m -CONFIG_USB_CXACRU=m -CONFIG_USB_UEAGLEATM=m -CONFIG_USB_XUSBATM=m - -## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -CONFIG_USB_EHCI_ROOT_HUB_TT=y -# CONFIG_USB_EHCI_TT_NEWSCHED is not set -CONFIG_USB_ISP116X_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=y -CONFIG_USB_U132_HCD=m -CONFIG_USB_SL811_HCD=m - -## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_ADUTUX=m -CONFIG_USB_RIO500=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_LED=m -CONFIG_USB_CYPRESS_CY7C63=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_FTDI_ELAN=m -CONFIG_USB_APPLEDISPLAY=m -CONFIG_USB_LD=m -CONFIG_USB_TRANCEVIBRATOR=m -CONFIG_USB_TEST=m - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y - -## -## file: drivers/usb/mon/Kconfig -## -CONFIG_USB_MON=y - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y -CONFIG_USB_STORAGE_ALAUDA=y -CONFIG_USB_STORAGE_ONETOUCH=y -CONFIG_USB_STORAGE_KARMA=y -# CONFIG_USB_LIBUSUAL is not set - -## -## file: drivers/video/Kconfig -## -CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -CONFIG_FB_PM2_FIFO_DISCONNECT=y -CONFIG_FB_CYBER2000=m -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -CONFIG_FB_S1D13XXX=m -CONFIG_FB_NVIDIA=m -# CONFIG_FB_NVIDIA_I2C is not set -# CONFIG_FB_RIVA is not set -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -CONFIG_FB_MATROX_I2C=m -CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_MATROX_MULTIHEAD=y -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -# CONFIG_FB_ATY_GENERIC_LCD is not set -CONFIG_FB_ATY_GX=y -CONFIG_FB_SAVAGE=m -# CONFIG_FB_SAVAGE_I2C is not set -# CONFIG_FB_SAVAGE_ACCEL is not set -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_VOODOO1=m -CONFIG_FB_TRIDENT=m -CONFIG_FB_VIRTUAL=m - -## -## file: drivers/video/backlight/Kconfig -## -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_LCD_CLASS_DEVICE is not set - -## -## file: drivers/video/console/Kconfig -## -CONFIG_VGA_CONSOLE=y -# CONFIG_VGACON_SOFT_SCROLLBACK is not set -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -## -## file: drivers/video/logo/Kconfig -## -# CONFIG_LOGO is not set - -## -## file: drivers/watchdog/Kconfig -## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_SOFT_WATCHDOG=m -CONFIG_PCIPCWATCHDOG=m -CONFIG_WDTPCI=m -CONFIG_WDT_501_PCI=y -CONFIG_USBPCWATCHDOG=m - -## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## -## file: fs/cramfs/Kconfig -## -CONFIG_CRAMFS=y - -## -## file: fs/dlm/Kconfig -## -CONFIG_DLM=m -# CONFIG_DLM_DEBUG is not set - -## -## file: fs/ext2/Kconfig -## -CONFIG_EXT2_FS=y - -## -## file: fs/ext3/Kconfig -## -CONFIG_EXT3_FS=y - -## -## file: fs/nfs/Kconfig -## -CONFIG_NFS_FS=y - -## -## file: fs/partitions/Kconfig -## -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y - -## -## file: init/Kconfig -## -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set - -## -## file: lib/Kconfig.debug -## -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_UNUSED_SYMBOLS=y -# CONFIG_HEADERS_CHECK is not set - -## -## file: mm/Kconfig -## -## choice: Memory model -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -## end choice - -## -## file: net/atm/Kconfig -## -CONFIG_ATM=m -CONFIG_ATM_CLIP=m -# CONFIG_ATM_CLIP_NO_ICMP is not set -CONFIG_ATM_LANE=m -CONFIG_ATM_MPOA=m -CONFIG_ATM_BR2684=m -# CONFIG_ATM_BR2684_IPFILTER is not set - -## -## file: net/ax25/Kconfig -## -CONFIG_HAMRADIO=y -CONFIG_AX25=m -# CONFIG_AX25_DAMA_SLAVE is not set -CONFIG_NETROM=m -CONFIG_ROSE=m - -## -## file: net/bridge/netfilter/Kconfig -## -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_ULOG=m - -## -## file: net/decnet/Kconfig -## -CONFIG_DECNET=m -# CONFIG_DECNET_ROUTER is not set - -## -## file: net/decnet/netfilter/Kconfig -## -CONFIG_DECNET_NF_GRABULATOR=m - -## -## file: net/econet/Kconfig -## -CONFIG_ECONET=m -CONFIG_ECONET_AUNUDP=y -CONFIG_ECONET_NATIVE=y - -## -## file: net/ipx/Kconfig -## -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set - -## -## file: net/irda/Kconfig -## -CONFIG_IRDA=m -# CONFIG_IRDA_ULTRA is not set -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -# CONFIG_IRDA_DEBUG is not set - -## -## file: net/irda/ircomm/Kconfig -## -CONFIG_IRCOMM=m - -## -## file: net/irda/irlan/Kconfig -## -CONFIG_IRLAN=m - -## -## file: net/irda/irnet/Kconfig -## -CONFIG_IRNET=m - -## -## file: net/lapb/Kconfig -## -CONFIG_LAPB=m - -## -## file: net/netlabel/Kconfig -## -# CONFIG_NETLABEL is not set - -## -## file: net/wanrouter/Kconfig -## -CONFIG_WAN_ROUTER=m - -## -## file: net/wireless/Kconfig -## -CONFIG_WIRELESS_EXT=y - -## -## file: net/x25/Kconfig -## -CONFIG_X25=m - -## -## file: sound/Kconfig -## -CONFIG_SOUND=y -CONFIG_SOUND_PRIME=m - -## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## -## file: sound/drivers/Kconfig -## -CONFIG_SND_DUMMY=m -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_MTS64=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_MPU401=m -CONFIG_SND_AC97_POWER_SAVE=y - -## -## file: sound/oss/Kconfig -## -CONFIG_SOUND_MSNDCLAS=m -CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" -CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" -CONFIG_SOUND_MSNDPIN=m -CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" -CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" - -## -## file: sound/pci/Kconfig -## -CONFIG_SND_AD1889=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_DARLA20=m -CONFIG_SND_GINA20=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_DARLA24=m -CONFIG_SND_GINA24=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_MONA=m -CONFIG_SND_MIA=m -CONFIG_SND_ECHO3G=m -CONFIG_SND_INDIGO=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m - -## -## file: sound/pci/hda/Kconfig -## -CONFIG_SND_HDA_INTEL=m - -## -## file: unknown -## -# CONFIG_MARKEINS is not set -# CONFIG_MIPS_ATLAS is not set -# CONFIG_MIPS_SEAD is not set - diff --git a/config/mipsel/config.5kc-malta b/config/mipsel/config.5kc-malta deleted file mode 100644 index 4b28190..0000000 --- a/config/mipsel/config.5kc-malta +++ /dev/null @@ -1,1971 +0,0 @@ -## -## file: arch/Kconfig -## -CONFIG_OPROFILE=m - -## -## file: arch/mips/Kconfig -## -## choice: System type -# CONFIG_MACH_ALCHEMY is not set -# CONFIG_BASLER_EXCITE is not set -# CONFIG_MIPS_COBALT is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_LASAT is not set -CONFIG_MIPS_MALTA=y -# CONFIG_MIPS_SIM is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PNX8550_STB810 is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SWARM is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SNI_RM is not set -# CONFIG_WR_PPMC is not set -## end choice -CONFIG_EARLY_PRINTK=y -## choice: Endianess selection -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_LITTLE_ENDIAN=y -## end choice -## choice: CPU type -# CONFIG_CPU_MIPS32_R1 is not set -# CONFIG_CPU_MIPS32_R2 is not set -CONFIG_CPU_MIPS64_R1=y -# CONFIG_CPU_MIPS64_R2 is not set -# CONFIG_CPU_R3000 is not set -# CONFIG_CPU_TX39XX is not set -# CONFIG_CPU_VR41XX is not set -# CONFIG_CPU_R4300 is not set -# CONFIG_CPU_R4X00 is not set -# CONFIG_CPU_TX49XX is not set -# CONFIG_CPU_R5000 is not set -# CONFIG_CPU_R5432 is not set -# CONFIG_CPU_R6000 is not set -# CONFIG_CPU_NEVADA is not set -# CONFIG_CPU_R8000 is not set -# CONFIG_CPU_R10000 is not set -# CONFIG_CPU_RM7000 is not set -# CONFIG_CPU_RM9000 is not set -# CONFIG_CPU_SB1 is not set -## end choice -## choice: Kernel code model -# CONFIG_32BIT is not set -CONFIG_64BIT=y -## end choice -## choice: Kernel page size -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_8KB is not set -# CONFIG_PAGE_SIZE_16KB is not set -# CONFIG_PAGE_SIZE_64KB is not set -## end choice -## choice: MIPS MT options -CONFIG_MIPS_MT_DISABLED=y -# CONFIG_MIPS_MT_SMP is not set -# CONFIG_MIPS_MT_SMTC is not set -## end choice -# CONFIG_MIPS_VPE_LOADER is not set -# CONFIG_CPU_HAS_SMARTMIPS is not set -## choice: Timer frequency -# CONFIG_HZ_48 is not set -# CONFIG_HZ_100 is not set -# CONFIG_HZ_128 is not set -CONFIG_HZ_250=y -# CONFIG_HZ_256 is not set -# CONFIG_HZ_1000 is not set -# CONFIG_HZ_1024 is not set -## end choice -# CONFIG_KEXEC is not set -CONFIG_PCI=y -CONFIG_MIPS32_COMPAT=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y - -## -## file: arch/mips/Kconfig.debug -## -CONFIG_CMDLINE="" - -## -## file: arch/mips/txx9/Kconfig -## -# CONFIG_TOSHIBA_JMR3927 is not set -# CONFIG_TOSHIBA_RBTX4927 is not set -# CONFIG_TOSHIBA_RBTX4938 is not set - -## -## file: drivers/ata/Kconfig -## -CONFIG_ATA=y -CONFIG_SATA_AHCI=y -CONFIG_SATA_SIL24=y -# CONFIG_SATA_SVW is not set -# CONFIG_ATA_PIIX is not set -CONFIG_SATA_MV=y -# CONFIG_SATA_NV is not set -# CONFIG_PDC_ADMA is not set -# CONFIG_SATA_QSTOR is not set -CONFIG_SATA_PROMISE=y -CONFIG_SATA_SX4=y -CONFIG_SATA_SIL=y -# CONFIG_SATA_SIS is not set -# CONFIG_SATA_ULI is not set -# CONFIG_SATA_VIA is not set -# CONFIG_SATA_VITESSE is not set -CONFIG_SATA_INIC162X=m -# CONFIG_ATA_GENERIC is not set - -## -## file: drivers/atm/Kconfig -## -CONFIG_ATM_DRIVERS=y -CONFIG_ATM_DUMMY=m -CONFIG_ATM_TCP=m -CONFIG_ATM_LANAI=m -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_DEBUG is not set -# CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set -CONFIG_ATM_IDT77252=m -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set -# CONFIG_ATM_FORE200E_USE_TASKLET is not set -CONFIG_ATM_FORE200E_TX_RETRY=16 -CONFIG_ATM_FORE200E_DEBUG=0 -CONFIG_ATM_HE=m -CONFIG_ATM_HE_USE_SUNI=y - -## -## file: drivers/auxdisplay/Kconfig -## -# CONFIG_KS0108 is not set - -## -## file: drivers/block/Kconfig -## -CONFIG_BLK_DEV_FD=m -CONFIG_PARIDE=m -# CONFIG_BLK_CPQ_DA is not set -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_CISS_SCSI_TAPE=y -CONFIG_BLK_DEV_DAC960=m -CONFIG_BLK_DEV_UMEM=m -CONFIG_BLK_DEV_SX8=m -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -## -## file: drivers/block/paride/Kconfig -## -CONFIG_PARIDE_PD=m -CONFIG_PARIDE_PCD=m -CONFIG_PARIDE_PF=m -CONFIG_PARIDE_PT=m -CONFIG_PARIDE_PG=m -CONFIG_PARIDE_ATEN=m -CONFIG_PARIDE_BPCK=m -CONFIG_PARIDE_COMM=m -CONFIG_PARIDE_DSTR=m -CONFIG_PARIDE_FIT2=m -CONFIG_PARIDE_FIT3=m -CONFIG_PARIDE_EPAT=m -# CONFIG_PARIDE_EPATC8 is not set -CONFIG_PARIDE_EPIA=m -CONFIG_PARIDE_FRIQ=m -CONFIG_PARIDE_FRPW=m -CONFIG_PARIDE_KBIC=m -CONFIG_PARIDE_KTTI=m -CONFIG_PARIDE_ON20=m -CONFIG_PARIDE_ON26=m - -## -## file: drivers/bluetooth/Kconfig -## -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIVHCI=m - -## -## file: drivers/char/Kconfig -## -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_SERIAL_NONSTANDARD is not set -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -CONFIG_PPDEV=m -CONFIG_APPLICOM=m - -## -## file: drivers/char/ipmi/Kconfig -## -CONFIG_IPMI_HANDLER=m -# CONFIG_IPMI_PANIC_EVENT is not set -# CONFIG_IPMI_DEVICE_INTERFACE is not set -CONFIG_IPMI_SI=m -CONFIG_IPMI_WATCHDOG=m -CONFIG_IPMI_POWEROFF=m - -## -## file: drivers/char/tpm/Kconfig -## -# CONFIG_TCG_TPM is not set - -## -## file: drivers/firewire/Kconfig -## -CONFIG_FIREWIRE=m -CONFIG_FIREWIRE_OHCI=m -CONFIG_FIREWIRE_SBP2=m - -## -## file: drivers/gpu/drm/Kconfig -## -CONFIG_DRM=m -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -CONFIG_DRM_MGA=m -CONFIG_DRM_VIA=m -CONFIG_DRM_SAVAGE=m - -## -## file: drivers/hid/Kconfig -## -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -## -## file: drivers/hwmon/Kconfig -## -CONFIG_HWMON=y -# CONFIG_SENSORS_ABITUGURU is not set -CONFIG_SENSORS_AD7418=m -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1029=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -CONFIG_SENSORS_DS1621=m -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM70=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_MAX6650=m -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -CONFIG_SENSORS_PCF8591=m -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_VT8231 is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set - -## -## file: drivers/i2c/busses/Kconfig -## -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -CONFIG_I2C_PIIX4=m -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_OCORES is not set -CONFIG_I2C_SIMTEC=m -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_TINY_USB=m -CONFIG_I2C_VOODOO3=m -# CONFIG_I2C_STUB is not set - -## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m -CONFIG_SENSORS_PCA9539=m -CONFIG_SENSORS_MAX6875=m - -## -## file: drivers/ide/Kconfig -## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_PROC_FS=y -CONFIG_IDE_GENERIC=y -CONFIG_IDEPCI_PCIBUS_ORDER=y -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=y -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -CONFIG_BLK_DEV_CMD64X=y -# CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_CY82C693 is not set -# CONFIG_BLK_DEV_CS5520 is not set -# CONFIG_BLK_DEV_CS5530 is not set -CONFIG_BLK_DEV_HPT366=y -# CONFIG_BLK_DEV_JMICRON is not set -# CONFIG_BLK_DEV_SC1200 is not set -CONFIG_BLK_DEV_PIIX=y -# CONFIG_BLK_DEV_IT821X is not set -# CONFIG_BLK_DEV_NS87415 is not set -CONFIG_BLK_DEV_PDC202XX_OLD=y -CONFIG_BLK_DEV_PDC202XX_NEW=y -# CONFIG_BLK_DEV_SVWKS is not set -CONFIG_BLK_DEV_SIIMAGE=y -# CONFIG_BLK_DEV_SLC90E66 is not set -# CONFIG_BLK_DEV_TRM290 is not set -# CONFIG_BLK_DEV_VIA82CXXX is not set - -## -## file: drivers/ieee1394/Kconfig -## -# CONFIG_IEEE1394 is not set - -## -## file: drivers/infiniband/Kconfig -## -CONFIG_INFINIBAND=m -CONFIG_INFINIBAND_USER_MAD=m -CONFIG_INFINIBAND_USER_ACCESS=m - -## -## file: drivers/infiniband/hw/amso1100/Kconfig -## -CONFIG_INFINIBAND_AMSO1100=m -# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set - -## -## file: drivers/infiniband/hw/cxgb3/Kconfig -## -CONFIG_INFINIBAND_CXGB3=m -# CONFIG_INFINIBAND_CXGB3_DEBUG is not set - -## -## file: drivers/infiniband/hw/mlx4/Kconfig -## -CONFIG_MLX4_INFINIBAND=m - -## -## file: drivers/infiniband/hw/mthca/Kconfig -## -CONFIG_INFINIBAND_MTHCA=m -CONFIG_INFINIBAND_MTHCA_DEBUG=y - -## -## file: drivers/infiniband/ulp/ipoib/Kconfig -## -CONFIG_INFINIBAND_IPOIB=m -# CONFIG_INFINIBAND_IPOIB_CM is not set -CONFIG_INFINIBAND_IPOIB_DEBUG=y -# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set - -## -## file: drivers/infiniband/ulp/iser/Kconfig -## -CONFIG_INFINIBAND_ISER=m - -## -## file: drivers/infiniband/ulp/srp/Kconfig -## -CONFIG_INFINIBAND_SRP=m - -## -## file: drivers/input/gameport/Kconfig -## -CONFIG_GAMEPORT=m -# CONFIG_GAMEPORT_NS558 is not set -# CONFIG_GAMEPORT_L4 is not set -CONFIG_GAMEPORT_EMU10K1=m -CONFIG_GAMEPORT_FM801=m - -## -## file: drivers/input/joystick/Kconfig -## -CONFIG_INPUT_JOYSTICK=y - -## -## file: drivers/input/keyboard/Kconfig -## -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_SUNKBD=m -CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_XTKBD=m -CONFIG_KEYBOARD_NEWTON=m -CONFIG_KEYBOARD_STOWAWAY=m - -## -## file: drivers/input/misc/Kconfig -## -# CONFIG_INPUT_MISC is not set - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=m -CONFIG_MOUSE_PS2_LOGIPS2PP=y -CONFIG_MOUSE_PS2_SYNAPTICS=y -CONFIG_MOUSE_PS2_LIFEBOOK=y -CONFIG_MOUSE_PS2_TRACKPOINT=y -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_SERIAL=m -CONFIG_MOUSE_APPLETOUCH=m -CONFIG_MOUSE_VSXXXAA=m - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=m -CONFIG_SERIO_PARKBD=m -CONFIG_SERIO_PCIPS2=y -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=m - -## -## file: drivers/input/tablet/Kconfig -## -CONFIG_INPUT_TABLET=y -CONFIG_TABLET_USB_ACECAD=m -CONFIG_TABLET_USB_AIPTEK=m -CONFIG_TABLET_USB_GTCO=m -CONFIG_TABLET_USB_KBTAB=m -CONFIG_TABLET_USB_WACOM=m - -## -## file: drivers/input/touchscreen/Kconfig -## -CONFIG_INPUT_TOUCHSCREEN=y - -## -## file: drivers/isdn/Kconfig -## -CONFIG_ISDN=y -CONFIG_ISDN_I4L=m -CONFIG_ISDN_CAPI=m - -## -## file: drivers/isdn/capi/Kconfig -## -CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y -CONFIG_ISDN_CAPI_MIDDLEWARE=y -CONFIG_ISDN_CAPI_CAPI20=m -CONFIG_ISDN_CAPI_CAPIFS_BOOL=y -CONFIG_ISDN_CAPI_CAPIDRV=m - -## -## file: drivers/isdn/gigaset/Kconfig -## -CONFIG_ISDN_DRV_GIGASET=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_M105=m -CONFIG_GIGASET_M101=m -# CONFIG_GIGASET_DEBUG is not set -# CONFIG_GIGASET_UNDOCREQ is not set - -## -## file: drivers/isdn/hardware/avm/Kconfig -## -CONFIG_CAPI_AVM=y -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_AVMB1_C4=m - -## -## file: drivers/isdn/hardware/eicon/Kconfig -## -CONFIG_CAPI_EICON=y -CONFIG_ISDN_DIVAS=m -CONFIG_ISDN_DIVAS_BRIPCI=y -CONFIG_ISDN_DIVAS_PRIPCI=y -CONFIG_ISDN_DIVAS_DIVACAPI=m -CONFIG_ISDN_DIVAS_USERIDI=m -CONFIG_ISDN_DIVAS_MAINT=m - -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_3=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y -CONFIG_ISDN_DRV_LOOP=m -CONFIG_ISDN_DIVERSION=m - -## -## file: drivers/leds/Kconfig -## -# CONFIG_NEW_LEDS is not set - -## -## file: drivers/md/Kconfig -## -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID456=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -# CONFIG_DM_DEBUG is not set -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m -CONFIG_DM_DELAY=m - -## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_V4L1_COMPAT=y -CONFIG_DVB_CORE=m - -## -## file: drivers/media/dvb/Kconfig -## -CONFIG_DVB_CAPTURE_DRIVERS=y - -## -## file: drivers/media/dvb/b2c2/Kconfig -## -CONFIG_DVB_B2C2_FLEXCOP=m -CONFIG_DVB_B2C2_FLEXCOP_PCI=m -CONFIG_DVB_B2C2_FLEXCOP_USB=m -# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set - -## -## file: drivers/media/dvb/bt8xx/Kconfig -## -CONFIG_DVB_BT8XX=m - -## -## file: drivers/media/dvb/dvb-usb/Kconfig -## -CONFIG_DVB_USB=m -# CONFIG_DVB_USB_DEBUG is not set -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_DIBUSB_MB=m -CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIB0700=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_CXUSB=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_VP7045=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_OPERA1=m - -## -## file: drivers/media/dvb/frontends/Kconfig -## -# CONFIG_DVB_FE_CUSTOMISE is not set -CONFIG_DVB_CX24110=m -CONFIG_DVB_CX24123=m -CONFIG_DVB_MT312=m -CONFIG_DVB_S5H1420=m -CONFIG_DVB_STV0299=m -CONFIG_DVB_TDA8083=m -CONFIG_DVB_TDA10086=m -CONFIG_DVB_VES1X93=m -CONFIG_DVB_TDA826X=m -CONFIG_DVB_TUA6100=m -CONFIG_DVB_SP8870=m -CONFIG_DVB_SP887X=m -CONFIG_DVB_CX22700=m -CONFIG_DVB_CX22702=m -CONFIG_DVB_L64781=m -CONFIG_DVB_TDA1004X=m -CONFIG_DVB_NXT6000=m -CONFIG_DVB_MT352=m -CONFIG_DVB_ZL10353=m -CONFIG_DVB_DIB3000MB=m -CONFIG_DVB_DIB3000MC=m -CONFIG_DVB_DIB7000M=m -CONFIG_DVB_DIB7000P=m -CONFIG_DVB_VES1820=m -CONFIG_DVB_TDA10021=m -CONFIG_DVB_TDA10023=m -CONFIG_DVB_STV0297=m -CONFIG_DVB_NXT200X=m -CONFIG_DVB_OR51211=m -CONFIG_DVB_OR51132=m -CONFIG_DVB_BCM3510=m -CONFIG_DVB_LGDT330X=m -CONFIG_DVB_PLL=m -CONFIG_DVB_LNBP21=m -CONFIG_DVB_ISL6421=m - -## -## file: drivers/media/dvb/pluto2/Kconfig -## -CONFIG_DVB_PLUTO2=m - -## -## file: drivers/media/dvb/ttpci/Kconfig -## -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y -CONFIG_DVB_BUDGET=m -CONFIG_DVB_BUDGET_CI=m -CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_PATCH=m - -## -## file: drivers/media/dvb/ttusb-budget/Kconfig -## -CONFIG_DVB_TTUSB_BUDGET=m - -## -## file: drivers/media/dvb/ttusb-dec/Kconfig -## -CONFIG_DVB_TTUSB_DEC=m - -## -## file: drivers/media/radio/Kconfig -## -CONFIG_RADIO_ADAPTERS=y -CONFIG_RADIO_GEMTEK_PCI=m -CONFIG_RADIO_MAXIRADIO=m -CONFIG_RADIO_MAESTRO=m -CONFIG_USB_DSBR=m - -## -## file: drivers/media/video/Kconfig -## -CONFIG_VIDEO_CAPTURE_DRIVERS=y -# CONFIG_VIDEO_ADV_DEBUG is not set -CONFIG_VIDEO_HELPER_CHIPS_AUTO=y -CONFIG_VIDEO_TVAUDIO=m -CONFIG_VIDEO_TDA7432=m -CONFIG_VIDEO_TDA9840=m -CONFIG_VIDEO_TDA9875=m -CONFIG_VIDEO_TEA6415C=m -CONFIG_VIDEO_TEA6420=m -CONFIG_VIDEO_MSP3400=m -CONFIG_VIDEO_CS53L32A=m -CONFIG_VIDEO_WM8775=m -CONFIG_VIDEO_WM8739=m -CONFIG_VIDEO_SAA6588=m -CONFIG_VIDEO_BT819=m -CONFIG_VIDEO_BT856=m -CONFIG_VIDEO_KS0127=m -CONFIG_VIDEO_OV7670=m -CONFIG_VIDEO_SAA7110=m -CONFIG_VIDEO_SAA711X=m -CONFIG_VIDEO_TVP5150=m -CONFIG_VIDEO_VPX3220=m -CONFIG_VIDEO_CX2341X=m -CONFIG_VIDEO_SAA7127=m -CONFIG_VIDEO_SAA7185=m -CONFIG_VIDEO_ADV7170=m -CONFIG_VIDEO_ADV7175=m -CONFIG_VIDEO_UPD64031A=m -CONFIG_VIDEO_UPD64083=m -CONFIG_VIDEO_VIVI=m -CONFIG_VIDEO_BWQCAM=m -CONFIG_VIDEO_CQCAM=m -CONFIG_VIDEO_W9966=m -CONFIG_VIDEO_CPIA=m -CONFIG_VIDEO_CPIA_PP=m -CONFIG_VIDEO_CPIA_USB=m -CONFIG_VIDEO_SAA5246A=m -CONFIG_VIDEO_SAA5249=m -CONFIG_VIDEO_STRADIS=m -CONFIG_VIDEO_MXB=m -CONFIG_VIDEO_HEXIUM_ORION=m -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_V4L_USB_DRIVERS=y -CONFIG_VIDEO_OVCAMCHIP=m - -## -## file: drivers/media/video/bt8xx/Kconfig -## -CONFIG_VIDEO_BT848=m -CONFIG_VIDEO_BT848_DVB=y - -## -## file: drivers/media/video/cpia2/Kconfig -## -CONFIG_VIDEO_CPIA2=m - -## -## file: drivers/media/video/cx25840/Kconfig -## -CONFIG_VIDEO_CX25840=m - -## -## file: drivers/media/video/cx88/Kconfig -## -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_CX88_ALSA=m -CONFIG_VIDEO_CX88_BLACKBIRD=m -CONFIG_VIDEO_CX88_DVB=m -CONFIG_VIDEO_CX88_VP3054=m - -## -## file: drivers/media/video/em28xx/Kconfig -## -CONFIG_VIDEO_EM28XX=m - -## -## file: drivers/media/video/et61x251/Kconfig -## -CONFIG_USB_ET61X251=m - -## -## file: drivers/media/video/ivtv/Kconfig -## -CONFIG_VIDEO_IVTV=m - -## -## file: drivers/media/video/pvrusb2/Kconfig -## -CONFIG_VIDEO_PVRUSB2=m -CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set - -## -## file: drivers/media/video/saa7134/Kconfig -## -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_SAA7134_ALSA=m -CONFIG_VIDEO_SAA7134_DVB=m - -## -## file: drivers/media/video/usbvision/Kconfig -## -CONFIG_VIDEO_USBVISION=m - -## -## file: drivers/media/video/zc0301/Kconfig -## -CONFIG_USB_ZC0301=m - -## -## file: drivers/media/video/zoran/Kconfig -## -CONFIG_VIDEO_ZORAN=m -CONFIG_VIDEO_ZORAN_DC30=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_ZORAN_AVS6EYES=m - -## -## file: drivers/message/fusion/Kconfig -## -CONFIG_FUSION=y -CONFIG_FUSION_SPI=m -CONFIG_FUSION_FC=m -CONFIG_FUSION_SAS=m -CONFIG_FUSION_MAX_SGE=40 -CONFIG_FUSION_CTL=m -CONFIG_FUSION_LAN=m - -## -## file: drivers/message/i2o/Kconfig -## -CONFIG_I2O=m -CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y -CONFIG_I2O_EXT_ADAPTEC=y -CONFIG_I2O_EXT_ADAPTEC_DMA64=y -CONFIG_I2O_CONFIG=m -CONFIG_I2O_CONFIG_OLD_IOCTL=y -CONFIG_I2O_BUS=m -CONFIG_I2O_BLOCK=m -CONFIG_I2O_SCSI=m -CONFIG_I2O_PROC=m - -## -## file: drivers/mfd/Kconfig -## -CONFIG_MFD_SM501=m - -## -## file: drivers/misc/Kconfig -## -# CONFIG_PHANTOM is not set -# CONFIG_SGI_IOC4 is not set -CONFIG_TIFM_CORE=m -CONFIG_TIFM_7XX1=m - -## -## file: drivers/mmc/Kconfig -## -CONFIG_MMC=m -# CONFIG_MMC_DEBUG is not set - -## -## file: drivers/mmc/card/Kconfig -## -CONFIG_MMC_BLOCK=m - -## -## file: drivers/mmc/core/Kconfig -## -# CONFIG_MMC_UNSAFE_RESUME is not set - -## -## file: drivers/mtd/Kconfig -## -CONFIG_MTD=m -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_CONCAT=m -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=y -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=m -CONFIG_MTD_BLOCK=m -CONFIG_MTD_BLOCK_RO=m -CONFIG_FTL=m -CONFIG_NFTL=m -CONFIG_NFTL_RW=y -CONFIG_INFTL=m -CONFIG_RFD_FTL=m -CONFIG_SSFDC=m - -## -## file: drivers/mtd/chips/Kconfig -## -CONFIG_MTD_CFI=m -CONFIG_MTD_JEDECPROBE=m -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=m -CONFIG_MTD_CFI_AMDSTD=m -CONFIG_MTD_CFI_STAA=m -CONFIG_MTD_RAM=m -CONFIG_MTD_ROM=m -CONFIG_MTD_ABSENT=m - -## -## file: drivers/mtd/devices/Kconfig -## -CONFIG_MTD_PMC551=m -# CONFIG_MTD_PMC551_BUGFIX is not set -# CONFIG_MTD_PMC551_DEBUG is not set -CONFIG_MTD_DATAFLASH=m -CONFIG_MTD_M25P80=m -CONFIG_MTD_SLRAM=m -CONFIG_MTD_PHRAM=m -CONFIG_MTD_MTDRAM=m -CONFIG_MTDRAM_TOTAL_SIZE=4096 -CONFIG_MTDRAM_ERASE_SIZE=128 -CONFIG_MTD_BLOCK2MTD=m -CONFIG_MTD_DOC2000=m -CONFIG_MTD_DOC2001=m -CONFIG_MTD_DOC2001PLUS=m -# CONFIG_MTD_DOCPROBE_ADVANCED is not set -CONFIG_MTD_DOCPROBE_ADDRESS=0 - -## -## file: drivers/mtd/maps/Kconfig -## -CONFIG_MTD_COMPLEX_MAPPINGS=y -CONFIG_MTD_PHYSMAP=m -CONFIG_MTD_PHYSMAP_START=0x8000000 -CONFIG_MTD_PHYSMAP_LEN=0x0 -CONFIG_MTD_PHYSMAP_BANKWIDTH=2 -CONFIG_MTD_PCI=m -CONFIG_MTD_PLATRAM=m - -## -## file: drivers/mtd/nand/Kconfig -## -CONFIG_MTD_NAND=m -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -# CONFIG_MTD_NAND_ECC_SMC is not set -# CONFIG_MTD_NAND_MUSEUM_IDS is not set -CONFIG_MTD_NAND_DISKONCHIP=m -# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set -CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 -# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set -CONFIG_MTD_NAND_CAFE=m -# CONFIG_MTD_NAND_PLATFORM is not set - -## -## file: drivers/mtd/onenand/Kconfig -## -CONFIG_MTD_ONENAND=m -CONFIG_MTD_ONENAND_VERIFY_WRITE=y -# CONFIG_MTD_ONENAND_OTP is not set - -## -## file: drivers/mtd/ubi/Kconfig -## -CONFIG_MTD_UBI=m -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MTD_UBI_BEB_RESERVE=1 -# CONFIG_MTD_UBI_GLUEBI is not set - -## -## file: drivers/mtd/ubi/Kconfig.debug -## -# CONFIG_MTD_UBI_DEBUG is not set - -## -## file: drivers/net/Kconfig -## -CONFIG_NETDEVICES=y -CONFIG_IFB=m -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_CASSINI is not set -CONFIG_NET_VENDOR_3COM=y -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -# CONFIG_DM9000 is not set -# CONFIG_HP100 is not set -CONFIG_NET_PCI=y -CONFIG_PCNET32=y -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_B44=m -# CONFIG_FORCEDETH is not set -# CONFIG_TC35815 is not set -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_SC92031=m -CONFIG_NET_POCKET=y -CONFIG_DE600=m -CONFIG_DE620=m -CONFIG_NETDEV_1000=y -CONFIG_FDDI=y -CONFIG_SKFP=m -CONFIG_HIPPI=y -CONFIG_ROADRUNNER=m -# CONFIG_ROADRUNNER_LARGE_RINGS is not set -CONFIG_PLIP=m -CONFIG_NET_FC=y -# CONFIG_NETPOLL_TRAP is not set - -## -## file: drivers/net/arcnet/Kconfig -## -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -CONFIG_ARCNET_1051=m -CONFIG_ARCNET_RAW=m -CONFIG_ARCNET_CAP=m -CONFIG_ARCNET_COM90xx=m -CONFIG_ARCNET_COM90xxIO=m -CONFIG_ARCNET_RIM_I=m -CONFIG_ARCNET_COM20020=m -CONFIG_ARCNET_COM20020_PCI=m - -## -## file: drivers/net/hamradio/Kconfig -## -CONFIG_MKISS=m -CONFIG_6PACK=m -CONFIG_BPQETHER=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_YAM=m - -## -## file: drivers/net/irda/Kconfig -## -CONFIG_IRTTY_SIR=m -CONFIG_USB_IRDA=m -CONFIG_SIGMATEL_FIR=m -CONFIG_VLSI_FIR=m -CONFIG_MCS_FIR=m - -## -## file: drivers/net/phy/Kconfig -## -CONFIG_PHYLIB=m -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -# CONFIG_QSEMI_PHY is not set -CONFIG_LXT_PHY=m -# CONFIG_CICADA_PHY is not set -# CONFIG_VITESSE_PHY is not set -CONFIG_SMSC_PHY=m -CONFIG_BROADCOM_PHY=m -CONFIG_FIXED_PHY=m - -## -## file: drivers/net/tokenring/Kconfig -## -CONFIG_TR=y - -## -## file: drivers/net/tulip/Kconfig -## -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -# CONFIG_TULIP_NAPI is not set -CONFIG_DE4X5=m -# CONFIG_WINBOND_840 is not set -CONFIG_DM9102=m -# CONFIG_ULI526X is not set - -## -## file: drivers/net/wan/Kconfig -## -CONFIG_WAN=y -CONFIG_LANMEDIA=m -CONFIG_HDLC=m -CONFIG_HDLC_RAW=m -CONFIG_HDLC_RAW_ETH=m -CONFIG_HDLC_CISCO=m -CONFIG_HDLC_FR=m -CONFIG_HDLC_PPP=m -CONFIG_HDLC_X25=m -CONFIG_PCI200SYN=m -CONFIG_WANXL=m -CONFIG_PC300=m -# CONFIG_PC300_MLPPP is not set -# CONFIG_PC300TOO is not set -CONFIG_FARSYNC=m -CONFIG_DSCC4=m -# CONFIG_DSCC4_PCISYNC is not set -# CONFIG_DSCC4_PCI_RST is not set -CONFIG_DLCI=m -CONFIG_DLCI_MAX=8 -CONFIG_WAN_ROUTER_DRIVERS=m -CONFIG_CYCLADES_SYNC=m -CONFIG_CYCLOMX_X25=y -CONFIG_LAPBETHER=m -CONFIG_X25_ASY=m - -## -## file: drivers/net/wireless/Kconfig -## -CONFIG_WLAN_PRE80211=y -CONFIG_STRIP=m -CONFIG_WLAN_80211=y -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_USB=m -# CONFIG_LIBERTAS_DEBUG is not set -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m -CONFIG_USB_ZD1201=m - -## -## file: drivers/net/wireless/hostap/Kconfig -## -CONFIG_HOSTAP=m -CONFIG_HOSTAP_FIRMWARE=y -# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set -CONFIG_HOSTAP_PLX=m -CONFIG_HOSTAP_PCI=m - -## -## file: drivers/net/wireless/ipw2x00/Kconfig -## -CONFIG_IPW2100=m -CONFIG_IPW2100_MONITOR=y -# CONFIG_IPW2100_DEBUG is not set -CONFIG_IPW2200=m -# CONFIG_IPW2200_MONITOR is not set -CONFIG_IPW2200_QOS=y -# CONFIG_IPW2200_DEBUG is not set - -## -## file: drivers/net/wireless/orinoco/Kconfig -## -CONFIG_HERMES=m -CONFIG_PLX_HERMES=m -CONFIG_TMD_HERMES=m -CONFIG_NORTEL_HERMES=m -CONFIG_PCI_HERMES=m - -## -## file: drivers/net/wireless/zd1211rw/Kconfig -## -CONFIG_ZD1211RW=m -# CONFIG_ZD1211RW_DEBUG is not set - -## -## file: drivers/parport/Kconfig -## -# CONFIG_PARPORT_AX88796 is not set - -## -## file: drivers/pci/hotplug/Kconfig -## -# CONFIG_HOTPLUG_PCI is not set - -## -## file: drivers/pcmcia/Kconfig -## -# CONFIG_PCCARD is not set - -## -## file: drivers/rtc/Kconfig -## -CONFIG_RTC_CLASS=y -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set -CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_DS1672=m -CONFIG_RTC_DRV_MAX6900=m -CONFIG_RTC_DRV_RS5C372=m -CONFIG_RTC_DRV_ISL1208=m -CONFIG_RTC_DRV_X1205=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_MAX6902=m -CONFIG_RTC_DRV_RS5C348=m -CONFIG_RTC_DRV_CMOS=y -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_DS1742 is not set -CONFIG_RTC_DRV_M48T86=m -# CONFIG_RTC_DRV_V3020 is not set - -## -## file: drivers/scsi/Kconfig -## -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=y -CONFIG_SCSI_TGT=m -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -CONFIG_SCSI_MULTI_LUN=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_ISCSI_TCP=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX_OLD=m -CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_HPTIOP=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_STEX=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_SYM53C8XX_MMIO=y -# CONFIG_SCSI_IPR is not set -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m -CONFIG_SCSI_DEBUG=m -CONFIG_SCSI_SRP=m - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic79xx -## -CONFIG_SCSI_AIC79XX=m -CONFIG_AIC79XX_CMDS_PER_DEVICE=32 -CONFIG_AIC79XX_RESET_DELAY_MS=15000 -CONFIG_AIC79XX_DEBUG_ENABLE=y -CONFIG_AIC79XX_DEBUG_MASK=0 -CONFIG_AIC79XX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -CONFIG_SCSI_AIC7XXX=m -CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 -CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -CONFIG_AIC7XXX_DEBUG_ENABLE=y -CONFIG_AIC7XXX_DEBUG_MASK=0 -CONFIG_AIC7XXX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/aic94xx/Kconfig -## -CONFIG_SCSI_AIC94XX=m -# CONFIG_AIC94XX_DEBUG is not set - -## -## file: drivers/scsi/libsas/Kconfig -## -CONFIG_SCSI_SAS_LIBSAS=m -# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m -CONFIG_MEGARAID_SAS=m - -## -## file: drivers/scsi/qla2xxx/Kconfig -## -CONFIG_SCSI_QLA_FC=m - -## -## file: drivers/scsi/qla4xxx/Kconfig -## -CONFIG_SCSI_QLA_ISCSI=m - -## -## file: drivers/serial/Kconfig -## -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -CONFIG_SERIAL_8250_EXTENDED=y -# CONFIG_SERIAL_8250_MANY_PORTS is not set -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_JSM=m - -## -## file: drivers/spi/Kconfig -## -CONFIG_SPI=y -CONFIG_SPI_BITBANG=m -CONFIG_SPI_BUTTERFLY=m -# CONFIG_SPI_SPIDEV is not set - -## -## file: drivers/telephony/Kconfig -## -CONFIG_PHONE=m -CONFIG_PHONE_IXJ=m - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=y -CONFIG_USB_USS720=m - -## -## file: drivers/usb/atm/Kconfig -## -CONFIG_USB_ATM=m -CONFIG_USB_SPEEDTOUCH=m -CONFIG_USB_CXACRU=m -CONFIG_USB_UEAGLEATM=m -CONFIG_USB_XUSBATM=m - -## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -CONFIG_USB_EHCI_ROOT_HUB_TT=y -# CONFIG_USB_EHCI_TT_NEWSCHED is not set -CONFIG_USB_ISP116X_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=y -CONFIG_USB_U132_HCD=m -CONFIG_USB_SL811_HCD=m - -## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_ADUTUX=m -CONFIG_USB_RIO500=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_BERRY_CHARGE=m -CONFIG_USB_LED=m -CONFIG_USB_CYPRESS_CY7C63=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_FTDI_ELAN=m -CONFIG_USB_APPLEDISPLAY=m -CONFIG_USB_LD=m -CONFIG_USB_TRANCEVIBRATOR=m -CONFIG_USB_IOWARRIOR=m -CONFIG_USB_TEST=m - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y - -## -## file: drivers/usb/mon/Kconfig -## -CONFIG_USB_MON=y - -## -## file: drivers/usb/serial/Kconfig -## -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_AIRCABLE=m -CONFIG_USB_SERIAL_ARK3116=m -CONFIG_USB_SERIAL_BELKIN=m -# CONFIG_USB_SERIAL_WHITEHEAT is not set -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_FUNSOFT=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_MOS7720=m -CONFIG_USB_SERIAL_MOS7840=m -CONFIG_USB_SERIAL_NAVMAN=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_HP4X=m -CONFIG_USB_SERIAL_SAFE=m -# CONFIG_USB_SERIAL_SAFE_PADDED is not set -CONFIG_USB_SERIAL_SIERRAWIRELESS=m -# CONFIG_USB_SERIAL_TI is not set -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_SERIAL_DEBUG=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y -CONFIG_USB_STORAGE_ALAUDA=y -CONFIG_USB_STORAGE_ONETOUCH=y -CONFIG_USB_STORAGE_KARMA=y -# CONFIG_USB_LIBUSUAL is not set - -## -## file: drivers/video/Kconfig -## -CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -CONFIG_FB_PM2_FIFO_DISCONNECT=y -CONFIG_FB_CYBER2000=m -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -CONFIG_FB_S1D13XXX=m -CONFIG_FB_NVIDIA=m -# CONFIG_FB_NVIDIA_I2C is not set -# CONFIG_FB_NVIDIA_DEBUG is not set -CONFIG_FB_NVIDIA_BACKLIGHT=y -# CONFIG_FB_RIVA is not set -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -CONFIG_FB_MATROX_I2C=m -CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_MATROX_MULTIHEAD=y -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -CONFIG_FB_RADEON_BACKLIGHT=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY128_BACKLIGHT=y -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -# CONFIG_FB_ATY_GENERIC_LCD is not set -CONFIG_FB_ATY_GX=y -CONFIG_FB_ATY_BACKLIGHT=y -CONFIG_FB_S3=m -CONFIG_FB_SAVAGE=m -# CONFIG_FB_SAVAGE_I2C is not set -# CONFIG_FB_SAVAGE_ACCEL is not set -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_VOODOO1=m -CONFIG_FB_VT8623=m -CONFIG_FB_TRIDENT=m -CONFIG_FB_ARK=m -CONFIG_FB_PM3=m -CONFIG_FB_SM501=m -CONFIG_FB_VIRTUAL=m - -## -## file: drivers/video/backlight/Kconfig -## -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_LCD_CLASS_DEVICE is not set - -## -## file: drivers/video/console/Kconfig -## -# CONFIG_VGA_CONSOLE is not set -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -## -## file: drivers/video/display/Kconfig -## -CONFIG_DISPLAY_SUPPORT=m - -## -## file: drivers/video/logo/Kconfig -## -# CONFIG_LOGO is not set - -## -## file: drivers/w1/Kconfig -## -CONFIG_W1=m -CONFIG_W1_CON=y - -## -## file: drivers/w1/masters/Kconfig -## -CONFIG_W1_MASTER_MATROX=m -CONFIG_W1_MASTER_DS2490=m -CONFIG_W1_MASTER_DS2482=m - -## -## file: drivers/w1/slaves/Kconfig -## -CONFIG_W1_SLAVE_THERM=m -CONFIG_W1_SLAVE_SMEM=m -CONFIG_W1_SLAVE_DS2433=m -# CONFIG_W1_SLAVE_DS2433_CRC is not set - -## -## file: drivers/watchdog/Kconfig -## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_SOFT_WATCHDOG=m -CONFIG_PCIPCWATCHDOG=m -CONFIG_WDTPCI=m -CONFIG_WDT_501_PCI=y -CONFIG_USBPCWATCHDOG=m - -## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## -## file: fs/cramfs/Kconfig -## -CONFIG_CRAMFS=y - -## -## file: fs/dlm/Kconfig -## -CONFIG_DLM=m -# CONFIG_DLM_DEBUG is not set - -## -## file: fs/ext2/Kconfig -## -CONFIG_EXT2_FS=y - -## -## file: fs/ext3/Kconfig -## -CONFIG_EXT3_FS=y - -## -## file: fs/nfs/Kconfig -## -CONFIG_NFS_FS=y - -## -## file: fs/partitions/Kconfig -## -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y - -## -## file: init/Kconfig -## -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set - -## -## file: kernel/power/Kconfig -## -# CONFIG_PM is not set - -## -## file: lib/Kconfig.debug -## -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_UNUSED_SYMBOLS=y -# CONFIG_HEADERS_CHECK is not set - -## -## file: mm/Kconfig -## -## choice: Memory model -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -## end choice - -## -## file: net/atm/Kconfig -## -CONFIG_ATM=m -CONFIG_ATM_CLIP=m -# CONFIG_ATM_CLIP_NO_ICMP is not set -CONFIG_ATM_LANE=m -CONFIG_ATM_MPOA=m -CONFIG_ATM_BR2684=m -# CONFIG_ATM_BR2684_IPFILTER is not set - -## -## file: net/ax25/Kconfig -## -CONFIG_HAMRADIO=y -CONFIG_AX25=m -# CONFIG_AX25_DAMA_SLAVE is not set -CONFIG_NETROM=m -CONFIG_ROSE=m - -## -## file: net/bridge/netfilter/Kconfig -## -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_ULOG=m - -## -## file: net/decnet/Kconfig -## -CONFIG_DECNET=m -# CONFIG_DECNET_ROUTER is not set - -## -## file: net/decnet/netfilter/Kconfig -## -CONFIG_DECNET_NF_GRABULATOR=m - -## -## file: net/econet/Kconfig -## -CONFIG_ECONET=m -CONFIG_ECONET_AUNUDP=y -CONFIG_ECONET_NATIVE=y - -## -## file: net/ipx/Kconfig -## -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set - -## -## file: net/irda/Kconfig -## -CONFIG_IRDA=m -# CONFIG_IRDA_ULTRA is not set -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -# CONFIG_IRDA_DEBUG is not set - -## -## file: net/irda/ircomm/Kconfig -## -CONFIG_IRCOMM=m - -## -## file: net/irda/irlan/Kconfig -## -CONFIG_IRLAN=m - -## -## file: net/irda/irnet/Kconfig -## -CONFIG_IRNET=m - -## -## file: net/lapb/Kconfig -## -CONFIG_LAPB=m - -## -## file: net/netlabel/Kconfig -## -# CONFIG_NETLABEL is not set - -## -## file: net/rfkill/Kconfig -## -CONFIG_RFKILL=m -CONFIG_RFKILL_INPUT=m - -## -## file: net/wanrouter/Kconfig -## -CONFIG_WAN_ROUTER=m - -## -## file: net/wireless/Kconfig -## -CONFIG_CFG80211=m -CONFIG_WIRELESS_EXT=y - -## -## file: net/x25/Kconfig -## -CONFIG_X25=m - -## -## file: sound/Kconfig -## -CONFIG_SOUND=y -CONFIG_SOUND_PRIME=m - -## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## -## file: sound/drivers/Kconfig -## -CONFIG_SND_DUMMY=m -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_MTS64=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_MPU401=m -CONFIG_SND_PORTMAN2X4=m -CONFIG_SND_AC97_POWER_SAVE=y - -## -## file: sound/oss/Kconfig -## -CONFIG_SOUND_MSNDCLAS=m -CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" -CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" -CONFIG_SOUND_MSNDPIN=m -CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" -CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" - -## -## file: sound/pci/Kconfig -## -CONFIG_SND_AD1889=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_DARLA20=m -CONFIG_SND_GINA20=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_DARLA24=m -CONFIG_SND_GINA24=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_MONA=m -CONFIG_SND_MIA=m -CONFIG_SND_ECHO3G=m -CONFIG_SND_INDIGO=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m - -## -## file: sound/pci/hda/Kconfig -## -CONFIG_SND_HDA_INTEL=m - -## -## file: unknown -## -# CONFIG_MARKEINS is not set -# CONFIG_MIPS_ATLAS is not set -# CONFIG_MIPS_SEAD is not set - diff --git a/config/mipsel/config.r5k-cobalt b/config/mipsel/config.r5k-cobalt index 7d9c502..702162f 100644 --- a/config/mipsel/config.r5k-cobalt +++ b/config/mipsel/config.r5k-cobalt @@ -23,10 +23,6 @@ CONFIG_MIPS_COBALT=y # CONFIG_SIBYTE_SENTOSA is not set # CONFIG_SIBYTE_BIGSUR is not set ## end choice -## choice: Endianess selection -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_LITTLE_ENDIAN=y -## end choice ## choice: CPU type # CONFIG_CPU_MIPS32_R1 is not set # CONFIG_CPU_MIPS32_R2 is not set @@ -223,10 +219,10 @@ CONFIG_BLK_DEV_VIA82CXXX=y ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=m -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -304,11 +300,6 @@ CONFIG_LEDS_COBALT_QUBE=y CONFIG_LEDS_COBALT_RAQ=y ## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m - -## ## file: drivers/media/radio/Kconfig ## # CONFIG_RADIO_GEMTEK_PCI is not set @@ -457,12 +448,8 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=0 ## ## file: drivers/net/Kconfig ## -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -CONFIG_BONDING=m +#. TODO # CONFIG_EQUALIZER is not set -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set @@ -564,15 +551,6 @@ CONFIG_PCI_ATMEL=m CONFIG_USB_ZD1201=m ## -## file: drivers/net/wireless/hostap/Kconfig -## -CONFIG_HOSTAP=m -CONFIG_HOSTAP_FIRMWARE=y -# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set -CONFIG_HOSTAP_PLX=m -CONFIG_HOSTAP_PCI=m - -## ## file: drivers/net/wireless/ipw2x00/Kconfig ## CONFIG_IPW2100=m @@ -603,15 +581,6 @@ CONFIG_PCI_HERMES=m ## ## file: drivers/rtc/Kconfig ## -CONFIG_RTC_CLASS=y -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -# CONFIG_RTC_DEBUG is not set -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set CONFIG_RTC_DRV_CMOS=y # CONFIG_RTC_DRV_DS1553 is not set # CONFIG_RTC_DRV_DS1742 is not set @@ -655,19 +624,6 @@ CONFIG_USB=m # CONFIG_USB_USS720 is not set ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -# CONFIG_USB_DEVICEFS is not set -# CONFIG_USB_DYNAMIC_MINORS is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m @@ -678,49 +634,11 @@ CONFIG_USB_UHCI_HCD=m CONFIG_USB_SL811_HCD=m ## -## file: drivers/usb/image/Kconfig -## -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -## -## file: drivers/usb/misc/Kconfig -## -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_LD is not set - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## ## file: drivers/usb/mon/Kconfig ## CONFIG_USB_MON=y ## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -CONFIG_USB_STORAGE_ALAUDA=y -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_LIBUSUAL is not set - -## ## file: drivers/video/Kconfig ## CONFIG_FB=m @@ -737,17 +655,6 @@ CONFIG_FB_COBALT=m # CONFIG_W1 is not set ## -## file: drivers/watchdog/Kconfig -## -# CONFIG_WATCHDOG is not set - -## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## ## file: fs/cramfs/Kconfig ## CONFIG_CRAMFS=y @@ -831,21 +738,6 @@ CONFIG_ROSE=m # CONFIG_WAN_ROUTER is not set ## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -# CONFIG_SND_SEQ_DUMMY is not set -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -# CONFIG_SND_SEQUENCER_OSS is not set -CONFIG_SND_RTCTIMER=m -CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## ## file: sound/drivers/Kconfig ## # CONFIG_SND_DUMMY is not set diff --git a/config/mipsel/config.sb1-bcm91250a b/config/mipsel/config.sb1-bcm91250a deleted file mode 100644 index 6c0e1ef..0000000 --- a/config/mipsel/config.sb1-bcm91250a +++ /dev/null @@ -1,1020 +0,0 @@ -## -## file: arch/Kconfig -## -# CONFIG_OPROFILE is not set - -## -## file: arch/mips/Kconfig -## -## choice: System type -# CONFIG_MIPS_COBALT is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_LASAT is not set -# CONFIG_MIPS_MALTA is not set -# CONFIG_MIPS_SIM is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_RHONE is not set -CONFIG_SIBYTE_SWARM=y -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_BIGSUR is not set -## end choice -## choice: Endianess selection -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_LITTLE_ENDIAN=y -## end choice -## choice: CPU type -# CONFIG_CPU_MIPS32_R1 is not set -# CONFIG_CPU_MIPS32_R2 is not set -# CONFIG_CPU_MIPS64_R1 is not set -# CONFIG_CPU_MIPS64_R2 is not set -# CONFIG_CPU_R3000 is not set -# CONFIG_CPU_TX39XX is not set -# CONFIG_CPU_VR41XX is not set -# CONFIG_CPU_R4300 is not set -# CONFIG_CPU_R4X00 is not set -# CONFIG_CPU_TX49XX is not set -# CONFIG_CPU_R5000 is not set -# CONFIG_CPU_R5432 is not set -# CONFIG_CPU_R6000 is not set -# CONFIG_CPU_NEVADA is not set -# CONFIG_CPU_R8000 is not set -# CONFIG_CPU_R10000 is not set -# CONFIG_CPU_RM7000 is not set -# CONFIG_CPU_RM9000 is not set -CONFIG_CPU_SB1=y -## end choice -## choice: Kernel code model -# CONFIG_32BIT is not set -CONFIG_64BIT=y -## end choice -## choice: Kernel page size -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_8KB is not set -# CONFIG_PAGE_SIZE_16KB is not set -# CONFIG_PAGE_SIZE_64KB is not set -## end choice -# CONFIG_SIBYTE_DMA_PAGEOPS is not set -CONFIG_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_PCI=y -CONFIG_MIPS32_COMPAT=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y - -## -## file: arch/mips/alchemy/Kconfig -## -## choice: Machine type -# CONFIG_MIPS_MTX1 is not set -# CONFIG_MIPS_BOSPORUS is not set -# CONFIG_MIPS_DB1000 is not set -# CONFIG_MIPS_DB1100 is not set -# CONFIG_MIPS_DB1200 is not set -# CONFIG_MIPS_DB1500 is not set -# CONFIG_MIPS_DB1550 is not set -# CONFIG_MIPS_MIRAGE is not set -# CONFIG_MIPS_PB1000 is not set -# CONFIG_MIPS_PB1100 is not set -# CONFIG_MIPS_PB1200 is not set -# CONFIG_MIPS_PB1500 is not set -# CONFIG_MIPS_PB1550 is not set -# CONFIG_MIPS_XXS1500 is not set -## end choice - -## -## file: arch/mips/Kconfig.debug -## -CONFIG_CMDLINE="" -# CONFIG_SB1XXX_CORELIS is not set - -## -## file: arch/mips/sibyte/Kconfig -## -## choice: SiByte SOC Stepping -# CONFIG_CPU_SB1_PASS_1 is not set -# CONFIG_CPU_SB1_PASS_2_1250 is not set -CONFIG_CPU_SB1_PASS_2_2=y -# CONFIG_CPU_SB1_PASS_4 is not set -# CONFIG_CPU_SB1_PASS_2_112x is not set -# CONFIG_CPU_SB1_PASS_3 is not set -## end choice -# CONFIG_SIMULATION is not set -# CONFIG_SB1_CEX_ALWAYS_FATAL is not set -# CONFIG_SB1_CERR_STALL is not set -CONFIG_SIBYTE_CFE=y -# CONFIG_SIBYTE_CFE_CONSOLE is not set -# CONFIG_SIBYTE_BUS_WATCHER is not set -# CONFIG_SIBYTE_TBPROF is not set - -## -## file: arch/mips/txx9/Kconfig -## -# CONFIG_TOSHIBA_JMR3927 is not set -# CONFIG_TOSHIBA_RBTX4927 is not set -# CONFIG_TOSHIBA_RBTX4938 is not set - -## -## file: drivers/ata/Kconfig -## -CONFIG_ATA=y -CONFIG_SATA_AHCI=m -CONFIG_SATA_SIL24=m -CONFIG_SATA_SVW=m -CONFIG_ATA_PIIX=m -CONFIG_SATA_MV=m -CONFIG_SATA_NV=m -CONFIG_PDC_ADMA=m -CONFIG_SATA_QSTOR=m -CONFIG_SATA_PROMISE=m -CONFIG_SATA_SX4=m -CONFIG_SATA_SIL=m -CONFIG_SATA_SIS=m -CONFIG_SATA_ULI=m -CONFIG_SATA_VIA=m -CONFIG_SATA_VITESSE=m - -## -## file: drivers/block/Kconfig -## -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=8192 -# CONFIG_CDROM_PKTCDVD is not set - -## -## file: drivers/char/Kconfig -## -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -# CONFIG_SERIAL_NONSTANDARD is not set -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -# CONFIG_PPDEV is not set -CONFIG_RTC=m -CONFIG_GEN_RTC=y -CONFIG_GEN_RTC_X=y -# CONFIG_DTLK is not set -# CONFIG_APPLICOM is not set -# CONFIG_TELCLOCK is not set - -## -## file: drivers/char/ipmi/Kconfig -## -# CONFIG_IPMI_HANDLER is not set - -## -## file: drivers/char/tpm/Kconfig -## -# CONFIG_TCG_TPM is not set - -## -## file: drivers/firewire/Kconfig -## -# CONFIG_FIREWIRE is not set - -## -## file: drivers/gpu/drm/Kconfig -## -# CONFIG_DRM is not set - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set - -## -## file: drivers/hwmon/Kconfig -## -CONFIG_HWMON=y -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set -CONFIG_SENSORS_VT8231=m -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set - -## -## file: drivers/i2c/busses/Kconfig -## -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_PARPORT is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_VOODOO3 is not set -# CONFIG_I2C_PCA_ISA is not set -CONFIG_I2C_SIBYTE=m -CONFIG_I2C_STUB=m -# CONFIG_SCx200_ACB is not set - -## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_MAX6875 is not set - -## -## file: drivers/ide/Kconfig -## -# CONFIG_IDE is not set - -## -## file: drivers/infiniband/Kconfig -## -# CONFIG_INFINIBAND is not set - -## -## file: drivers/input/Kconfig -## -# CONFIG_INPUT_JOYDEV is not set - -## -## file: drivers/input/gameport/Kconfig -## -# CONFIG_GAMEPORT is not set - -## -## file: drivers/input/joystick/Kconfig -## -# CONFIG_INPUT_JOYSTICK is not set - -## -## file: drivers/input/keyboard/Kconfig -## -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set - -## -## file: drivers/input/misc/Kconfig -## -# CONFIG_INPUT_MISC is not set - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y -# CONFIG_MOUSE_SERIAL is not set -# CONFIG_MOUSE_VSXXXAA is not set - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set -# CONFIG_SERIO_SERPORT is not set -# CONFIG_SERIO_PARKBD is not set -# CONFIG_SERIO_PCIPS2 is not set -CONFIG_SERIO_LIBPS2=y -# CONFIG_SERIO_RAW is not set - -## -## file: drivers/input/touchscreen/Kconfig -## -# CONFIG_INPUT_TOUCHSCREEN is not set - -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - -## -## file: drivers/md/Kconfig -## -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m - -## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m - -## -## file: drivers/media/radio/Kconfig -## -# CONFIG_RADIO_GEMTEK_PCI is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_MAESTRO is not set -# CONFIG_USB_DSBR is not set - -## -## file: drivers/media/video/Kconfig -## -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_BWQCAM is not set -# CONFIG_VIDEO_CQCAM is not set -# CONFIG_VIDEO_W9966 is not set -# CONFIG_VIDEO_CPIA is not set -# CONFIG_VIDEO_SAA5246A is not set -# CONFIG_VIDEO_SAA5249 is not set -# CONFIG_VIDEO_STRADIS is not set -# CONFIG_VIDEO_MXB is not set -# CONFIG_VIDEO_HEXIUM_ORION is not set -# CONFIG_VIDEO_HEXIUM_GEMINI is not set -# CONFIG_VIDEO_OVCAMCHIP is not set -# CONFIG_USB_W9968CF is not set -# CONFIG_USB_OV511 is not set -# CONFIG_USB_SE401 is not set -# CONFIG_USB_STV680 is not set - -## -## file: drivers/media/video/bt8xx/Kconfig -## -# CONFIG_VIDEO_BT848 is not set - -## -## file: drivers/media/video/cx88/Kconfig -## -# CONFIG_VIDEO_CX88 is not set - -## -## file: drivers/media/video/em28xx/Kconfig -## -# CONFIG_VIDEO_EM28XX is not set - -## -## file: drivers/media/video/et61x251/Kconfig -## -CONFIG_USB_ET61X251=m - -## -## file: drivers/media/video/pwc/Kconfig -## -# CONFIG_USB_PWC is not set - -## -## file: drivers/media/video/saa7134/Kconfig -## -# CONFIG_VIDEO_SAA7134 is not set - -## -## file: drivers/media/video/sn9c102/Kconfig -## -# CONFIG_USB_SN9C102 is not set - -## -## file: drivers/media/video/usbvideo/Kconfig -## -# CONFIG_USB_VICAM is not set -# CONFIG_USB_IBMCAM is not set -# CONFIG_USB_KONICAWC is not set - -## -## file: drivers/media/video/zoran/Kconfig -## -# CONFIG_VIDEO_ZORAN is not set - -## -## file: drivers/message/fusion/Kconfig -## -# CONFIG_FUSION is not set -# CONFIG_FUSION_SPI is not set -# CONFIG_FUSION_FC is not set -# CONFIG_FUSION_SAS is not set - -## -## file: drivers/message/i2o/Kconfig -## -# CONFIG_I2O is not set - -## -## file: drivers/mmc/Kconfig -## -# CONFIG_MMC is not set - -## -## file: drivers/mtd/Kconfig -## -# CONFIG_MTD is not set - -## -## file: drivers/net/Kconfig -## -CONFIG_NETDEVICES=y -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_CASSINI is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_DM9000 is not set -# CONFIG_HP100 is not set -CONFIG_NET_PCI=y -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_B44=m -CONFIG_FORCEDETH=m -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -CONFIG_8139TOO_PIO=y -# CONFIG_8139TOO_TUNE_TWISTER is not set -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -# CONFIG_NET_POCKET is not set -CONFIG_NETDEV_1000=y -CONFIG_SB1250_MAC=y -# CONFIG_CHELSIO_T1 is not set -# CONFIG_IXGB is not set -# CONFIG_S2IO is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -# CONFIG_PLIP is not set -# CONFIG_NET_FC is not set - -## -## file: drivers/net/appletalk/Kconfig -## -# CONFIG_ATALK is not set - -## -## file: drivers/net/arcnet/Kconfig -## -# CONFIG_ARCNET is not set - -## -## file: drivers/net/phy/Kconfig -## -CONFIG_BROADCOM_PHY=y -# CONFIG_FIXED_PHY is not set - -## -## file: drivers/net/tokenring/Kconfig -## -# CONFIG_TR is not set - -## -## file: drivers/net/tulip/Kconfig -## -# CONFIG_NET_TULIP is not set - -## -## file: drivers/net/wan/Kconfig -## -# CONFIG_WAN is not set - -## -## file: drivers/pci/hotplug/Kconfig -## -# CONFIG_HOTPLUG_PCI is not set - -## -## file: drivers/pcmcia/Kconfig -## -# CONFIG_PCCARD is not set - -## -## file: drivers/scsi/Kconfig -## -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m -# CONFIG_SCSI_SAS_ATTRS is not set -CONFIG_ISCSI_TCP=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX_OLD=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -# CONFIG_SCSI_IPR is not set -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m -CONFIG_SCSI_DEBUG=m - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic79xx -## -CONFIG_SCSI_AIC79XX=m -CONFIG_AIC79XX_CMDS_PER_DEVICE=32 -CONFIG_AIC79XX_RESET_DELAY_MS=15000 -CONFIG_AIC79XX_DEBUG_ENABLE=y -CONFIG_AIC79XX_DEBUG_MASK=0 -CONFIG_AIC79XX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -CONFIG_SCSI_AIC7XXX=y -CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 -CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -CONFIG_AIC7XXX_DEBUG_ENABLE=y -CONFIG_AIC7XXX_DEBUG_MASK=0 -CONFIG_AIC7XXX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -# CONFIG_MEGARAID_NEWGEN is not set -CONFIG_MEGARAID_LEGACY=m -CONFIG_MEGARAID_SAS=m - -## -## file: drivers/scsi/qla2xxx/Kconfig -## -CONFIG_SCSI_QLA_FC=m - -## -## file: drivers/serial/Kconfig -## -# CONFIG_SERIAL_8250 is not set -CONFIG_SERIAL_SB1250_DUART=y -CONFIG_SERIAL_SB1250_DUART_CONSOLE=y -# CONFIG_SERIAL_JSM is not set - -## -## file: drivers/spi/Kconfig -## -CONFIG_SPI=y -CONFIG_SPI_BITBANG=m -CONFIG_SPI_BUTTERFLY=m - -## -## file: drivers/telephony/Kconfig -## -# CONFIG_PHONE is not set - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=m -# CONFIG_USB_USS720 is not set - -## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -# CONFIG_USB_PRINTER is not set - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -CONFIG_USB_ISP116X_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_SL811_HCD=m - -## -## file: drivers/usb/image/Kconfig -## -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -## -## file: drivers/usb/misc/Kconfig -## -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TEST is not set - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m -# CONFIG_USB_SISUSBVGA_CON is not set - -## -## file: drivers/usb/mon/Kconfig -## -CONFIG_USB_MON=y - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -CONFIG_USB_STORAGE_ALAUDA=y -CONFIG_USB_STORAGE_ONETOUCH=y -# CONFIG_USB_LIBUSUAL is not set - -## -## file: drivers/video/Kconfig -## -CONFIG_FB=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y -# CONFIG_FB_CIRRUS is not set -CONFIG_FB_PM2=m -# CONFIG_FB_PM2_FIFO_DISCONNECT is not set -CONFIG_FB_CYBER2000=m -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_S1D13XXX is not set -CONFIG_FB_NVIDIA=m -# CONFIG_FB_NVIDIA_I2C is not set -CONFIG_FB_RIVA=m -# CONFIG_FB_RIVA_I2C is not set -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -# CONFIG_FB_MATROX_I2C is not set -# CONFIG_FB_MATROX_MULTIHEAD is not set -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY=m -# CONFIG_FB_ATY_CT is not set -# CONFIG_FB_ATY_GX is not set -CONFIG_FB_SAVAGE=m -# CONFIG_FB_SAVAGE_I2C is not set -# CONFIG_FB_SAVAGE_ACCEL is not set -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_VOODOO1=m -CONFIG_FB_TRIDENT=m -# CONFIG_FB_VIRTUAL is not set - -## -## file: drivers/video/console/Kconfig -## -# CONFIG_VGA_CONSOLE is not set -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -## -## file: drivers/video/logo/Kconfig -## -CONFIG_LOGO=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -# CONFIG_LOGO_LINUX_CLUT224 is not set - -## -## file: drivers/w1/Kconfig -## -# CONFIG_W1 is not set - -## -## file: drivers/watchdog/Kconfig -## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_SOFT_WATCHDOG is not set -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set -# CONFIG_USBPCWATCHDOG is not set - -## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## -## file: fs/cramfs/Kconfig -## -CONFIG_CRAMFS=y - -## -## file: fs/ext2/Kconfig -## -CONFIG_EXT2_FS=y - -## -## file: fs/ext3/Kconfig -## -CONFIG_EXT3_FS=y - -## -## file: fs/nfs/Kconfig -## -CONFIG_NFS_FS=y -CONFIG_ROOT_NFS=y - -## -## file: fs/partitions/Kconfig -## -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -CONFIG_SGI_PARTITION=y -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -CONFIG_KARMA_PARTITION=y -# CONFIG_EFI_PARTITION is not set - -## -## file: init/Kconfig -## -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set - -## -## file: mm/Kconfig -## -## choice: Memory model -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -## end choice - -## -## file: net/atm/Kconfig -## -# CONFIG_ATM is not set - -## -## file: net/ax25/Kconfig -## -# CONFIG_HAMRADIO is not set - -## -## file: net/decnet/Kconfig -## -# CONFIG_DECNET is not set - -## -## file: net/econet/Kconfig -## -# CONFIG_ECONET is not set - -## -## file: net/ipv4/Kconfig -## -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y - -## -## file: net/ipx/Kconfig -## -# CONFIG_IPX is not set - -## -## file: net/irda/Kconfig -## -# CONFIG_IRDA is not set - -## -## file: net/lapb/Kconfig -## -# CONFIG_LAPB is not set - -## -## file: net/wanrouter/Kconfig -## -# CONFIG_WAN_ROUTER is not set - -## -## file: net/x25/Kconfig -## -# CONFIG_X25 is not set - -## -## file: sound/Kconfig -## -CONFIG_SOUND=y -CONFIG_SOUND_PRIME=y - -## -## file: sound/core/Kconfig -## -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## -## file: sound/drivers/Kconfig -## -# CONFIG_SND_DUMMY is not set -CONFIG_SND_VIRMIDI=m -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -## -## file: sound/oss/Kconfig -## -# CONFIG_SOUND_BCM_CS4297A is not set -# CONFIG_SOUND_MSNDCLAS is not set -CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" -CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" -# CONFIG_SOUND_MSNDPIN is not set -CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" -CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" - -## -## file: sound/pci/Kconfig -## -CONFIG_SND_AD1889=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -CONFIG_SND_BT87X_OVERCLOCK=y -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m - -## -## file: sound/pci/hda/Kconfig -## -CONFIG_SND_HDA_INTEL=m - -## -## file: unknown -## -CONFIG_BLK_DEV_IDE_SWARM=y -# CONFIG_LAN_SAA9730 is not set -# CONFIG_MIPS_ATLAS is not set -# CONFIG_MIPS_SEAD is not set - diff --git a/config/mipsel/config.sb1a-bcm91480b b/config/mipsel/config.sb1a-bcm91480b deleted file mode 100644 index 903ebd5..0000000 --- a/config/mipsel/config.sb1a-bcm91480b +++ /dev/null @@ -1,1048 +0,0 @@ -## -## file: arch/Kconfig -## -# CONFIG_OPROFILE is not set - -## -## file: arch/mips/Kconfig -## -## choice: System type -# CONFIG_MIPS_COBALT is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_LASAT is not set -# CONFIG_MIPS_MALTA is not set -# CONFIG_MIPS_SIM is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SWARM is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_SENTOSA is not set -CONFIG_SIBYTE_BIGSUR=y -## end choice -## choice: Endianess selection -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_LITTLE_ENDIAN=y -## end choice -## choice: CPU type -# CONFIG_CPU_MIPS32_R1 is not set -# CONFIG_CPU_MIPS32_R2 is not set -# CONFIG_CPU_MIPS64_R1 is not set -# CONFIG_CPU_MIPS64_R2 is not set -# CONFIG_CPU_R3000 is not set -# CONFIG_CPU_TX39XX is not set -# CONFIG_CPU_VR41XX is not set -# CONFIG_CPU_R4300 is not set -# CONFIG_CPU_R4X00 is not set -# CONFIG_CPU_TX49XX is not set -# CONFIG_CPU_R5000 is not set -# CONFIG_CPU_R5432 is not set -# CONFIG_CPU_R6000 is not set -# CONFIG_CPU_NEVADA is not set -# CONFIG_CPU_R8000 is not set -# CONFIG_CPU_R10000 is not set -# CONFIG_CPU_RM7000 is not set -# CONFIG_CPU_RM9000 is not set -CONFIG_CPU_SB1=y -## end choice -## choice: Kernel code model -# CONFIG_32BIT is not set -CONFIG_64BIT=y -## end choice -## choice: Kernel page size -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_8KB is not set -# CONFIG_PAGE_SIZE_16KB is not set -# CONFIG_PAGE_SIZE_64KB is not set -## end choice -# CONFIG_SIBYTE_DMA_PAGEOPS is not set -CONFIG_SMP=y -CONFIG_NR_CPUS=4 -CONFIG_PCI=y -CONFIG_MIPS32_COMPAT=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y - -## -## file: arch/mips/alchemy/Kconfig -## -## choice: Machine type -# CONFIG_MIPS_MTX1 is not set -# CONFIG_MIPS_BOSPORUS is not set -# CONFIG_MIPS_DB1000 is not set -# CONFIG_MIPS_DB1100 is not set -# CONFIG_MIPS_DB1200 is not set -# CONFIG_MIPS_DB1500 is not set -# CONFIG_MIPS_DB1550 is not set -# CONFIG_MIPS_MIRAGE is not set -# CONFIG_MIPS_PB1000 is not set -# CONFIG_MIPS_PB1100 is not set -# CONFIG_MIPS_PB1200 is not set -# CONFIG_MIPS_PB1500 is not set -# CONFIG_MIPS_PB1550 is not set -# CONFIG_MIPS_XXS1500 is not set -## end choice - -## -## file: arch/mips/Kconfig.debug -## -CONFIG_CMDLINE="" -# CONFIG_SB1XXX_CORELIS is not set - -## -## file: arch/mips/sibyte/Kconfig -## -## choice: SiByte SOC Stepping -# CONFIG_CPU_SB1_PASS_1 is not set -# CONFIG_CPU_SB1_PASS_2_1250 is not set -# CONFIG_CPU_SB1_PASS_2_2 is not set -# CONFIG_CPU_SB1_PASS_4 is not set -# CONFIG_CPU_SB1_PASS_2_112x is not set -# CONFIG_CPU_SB1_PASS_3 is not set -## end choice -# CONFIG_SIMULATION is not set -# CONFIG_SB1_CEX_ALWAYS_FATAL is not set -# CONFIG_SB1_CERR_STALL is not set -CONFIG_SIBYTE_CFE=y -# CONFIG_SIBYTE_CFE_CONSOLE is not set -# CONFIG_SIBYTE_BUS_WATCHER is not set -# CONFIG_SIBYTE_TBPROF is not set - -## -## file: arch/mips/txx9/Kconfig -## -# CONFIG_TOSHIBA_JMR3927 is not set -# CONFIG_TOSHIBA_RBTX4927 is not set -# CONFIG_TOSHIBA_RBTX4938 is not set - -## -## file: drivers/ata/Kconfig -## -CONFIG_ATA=m -CONFIG_SATA_AHCI=m -CONFIG_SATA_SIL24=m -CONFIG_SATA_SVW=m -CONFIG_ATA_PIIX=m -CONFIG_SATA_MV=m -CONFIG_SATA_NV=m -CONFIG_PDC_ADMA=m -CONFIG_SATA_QSTOR=m -CONFIG_SATA_PROMISE=m -CONFIG_SATA_SX4=m -CONFIG_SATA_SIL=m -CONFIG_SATA_SIS=m -CONFIG_SATA_ULI=m -CONFIG_SATA_VIA=m -CONFIG_SATA_VITESSE=m - -## -## file: drivers/block/Kconfig -## -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=8192 -# CONFIG_CDROM_PKTCDVD is not set - -## -## file: drivers/char/Kconfig -## -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -# CONFIG_SERIAL_NONSTANDARD is not set -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -# CONFIG_PPDEV is not set -CONFIG_RTC=m -CONFIG_GEN_RTC=y -CONFIG_GEN_RTC_X=y -# CONFIG_DTLK is not set -# CONFIG_APPLICOM is not set -# CONFIG_TELCLOCK is not set - -## -## file: drivers/char/ipmi/Kconfig -## -# CONFIG_IPMI_HANDLER is not set - -## -## file: drivers/char/tpm/Kconfig -## -# CONFIG_TCG_TPM is not set - -## -## file: drivers/firewire/Kconfig -## -# CONFIG_FIREWIRE is not set - -## -## file: drivers/gpu/drm/Kconfig -## -# CONFIG_DRM is not set - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set - -## -## file: drivers/hwmon/Kconfig -## -CONFIG_HWMON=y -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set -CONFIG_SENSORS_VT8231=m -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set - -## -## file: drivers/i2c/busses/Kconfig -## -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_PARPORT is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_VOODOO3 is not set -# CONFIG_I2C_PCA_ISA is not set -CONFIG_I2C_SIBYTE=m -CONFIG_I2C_STUB=m -# CONFIG_SCx200_ACB is not set - -## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_MAX6875 is not set - -## -## file: drivers/ide/Kconfig -## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -CONFIG_IDE_GENERIC=y -# CONFIG_BLK_DEV_OFFBOARD is not set -# CONFIG_BLK_DEV_GENERIC is not set -# CONFIG_BLK_DEV_OPTI621 is not set -CONFIG_BLK_DEV_AEC62XX=m -CONFIG_BLK_DEV_ALI15X3=m -CONFIG_BLK_DEV_AMD74XX=m -CONFIG_BLK_DEV_CMD64X=m -CONFIG_BLK_DEV_TRIFLEX=m -CONFIG_BLK_DEV_CY82C693=m -# CONFIG_BLK_DEV_CS5520 is not set -CONFIG_BLK_DEV_CS5530=m -CONFIG_BLK_DEV_HPT366=m -CONFIG_BLK_DEV_SC1200=m -CONFIG_BLK_DEV_PIIX=m -CONFIG_BLK_DEV_IT821X=m -CONFIG_BLK_DEV_NS87415=m -CONFIG_BLK_DEV_PDC202XX_OLD=m -CONFIG_BLK_DEV_PDC202XX_NEW=m -CONFIG_BLK_DEV_SVWKS=m -CONFIG_BLK_DEV_SIIMAGE=m -CONFIG_BLK_DEV_SLC90E66=m -CONFIG_BLK_DEV_TRM290=m -CONFIG_BLK_DEV_VIA82CXXX=m - -## -## file: drivers/infiniband/Kconfig -## -# CONFIG_INFINIBAND is not set - -## -## file: drivers/input/Kconfig -## -# CONFIG_INPUT_JOYDEV is not set - -## -## file: drivers/input/gameport/Kconfig -## -# CONFIG_GAMEPORT is not set - -## -## file: drivers/input/joystick/Kconfig -## -# CONFIG_INPUT_JOYSTICK is not set - -## -## file: drivers/input/keyboard/Kconfig -## -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set - -## -## file: drivers/input/misc/Kconfig -## -# CONFIG_INPUT_MISC is not set - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y -# CONFIG_MOUSE_SERIAL is not set -# CONFIG_MOUSE_VSXXXAA is not set - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set -# CONFIG_SERIO_SERPORT is not set -# CONFIG_SERIO_PARKBD is not set -# CONFIG_SERIO_PCIPS2 is not set -CONFIG_SERIO_LIBPS2=y -# CONFIG_SERIO_RAW is not set - -## -## file: drivers/input/touchscreen/Kconfig -## -# CONFIG_INPUT_TOUCHSCREEN is not set - -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - -## -## file: drivers/md/Kconfig -## -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_MIRROR=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m - -## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_DEV=m - -## -## file: drivers/media/radio/Kconfig -## -# CONFIG_RADIO_GEMTEK_PCI is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_MAESTRO is not set -# CONFIG_USB_DSBR is not set - -## -## file: drivers/media/video/Kconfig -## -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_BWQCAM is not set -# CONFIG_VIDEO_CQCAM is not set -# CONFIG_VIDEO_W9966 is not set -# CONFIG_VIDEO_CPIA is not set -# CONFIG_VIDEO_SAA5246A is not set -# CONFIG_VIDEO_SAA5249 is not set -# CONFIG_VIDEO_STRADIS is not set -# CONFIG_VIDEO_MXB is not set -# CONFIG_VIDEO_HEXIUM_ORION is not set -# CONFIG_VIDEO_HEXIUM_GEMINI is not set -# CONFIG_VIDEO_OVCAMCHIP is not set -# CONFIG_USB_W9968CF is not set -# CONFIG_USB_OV511 is not set -# CONFIG_USB_SE401 is not set -# CONFIG_USB_STV680 is not set - -## -## file: drivers/media/video/bt8xx/Kconfig -## -# CONFIG_VIDEO_BT848 is not set - -## -## file: drivers/media/video/cx88/Kconfig -## -# CONFIG_VIDEO_CX88 is not set - -## -## file: drivers/media/video/em28xx/Kconfig -## -# CONFIG_VIDEO_EM28XX is not set - -## -## file: drivers/media/video/et61x251/Kconfig -## -CONFIG_USB_ET61X251=m - -## -## file: drivers/media/video/pwc/Kconfig -## -# CONFIG_USB_PWC is not set - -## -## file: drivers/media/video/saa7134/Kconfig -## -# CONFIG_VIDEO_SAA7134 is not set - -## -## file: drivers/media/video/sn9c102/Kconfig -## -# CONFIG_USB_SN9C102 is not set - -## -## file: drivers/media/video/usbvideo/Kconfig -## -# CONFIG_USB_VICAM is not set -# CONFIG_USB_IBMCAM is not set -# CONFIG_USB_KONICAWC is not set - -## -## file: drivers/media/video/zoran/Kconfig -## -# CONFIG_VIDEO_ZORAN is not set - -## -## file: drivers/message/fusion/Kconfig -## -# CONFIG_FUSION is not set -# CONFIG_FUSION_SPI is not set -# CONFIG_FUSION_FC is not set -# CONFIG_FUSION_SAS is not set - -## -## file: drivers/message/i2o/Kconfig -## -# CONFIG_I2O is not set - -## -## file: drivers/mmc/Kconfig -## -# CONFIG_MMC is not set - -## -## file: drivers/mtd/Kconfig -## -# CONFIG_MTD is not set - -## -## file: drivers/net/Kconfig -## -CONFIG_NETDEVICES=y -CONFIG_DUMMY=m -CONFIG_BONDING=m -CONFIG_EQUALIZER=m -CONFIG_TUN=m -CONFIG_NET_ETHERNET=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_CASSINI is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_DM9000 is not set -# CONFIG_HP100 is not set -CONFIG_NET_PCI=y -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_B44=m -CONFIG_FORCEDETH=m -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -CONFIG_8139CP=m -CONFIG_8139TOO=m -CONFIG_8139TOO_PIO=y -# CONFIG_8139TOO_TUNE_TWISTER is not set -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -# CONFIG_NET_POCKET is not set -CONFIG_NETDEV_1000=y -CONFIG_SB1250_MAC=y -# CONFIG_CHELSIO_T1 is not set -# CONFIG_IXGB is not set -# CONFIG_S2IO is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -# CONFIG_PLIP is not set -# CONFIG_NET_FC is not set - -## -## file: drivers/net/appletalk/Kconfig -## -# CONFIG_ATALK is not set - -## -## file: drivers/net/arcnet/Kconfig -## -# CONFIG_ARCNET is not set - -## -## file: drivers/net/phy/Kconfig -## -CONFIG_BROADCOM_PHY=y -# CONFIG_FIXED_PHY is not set - -## -## file: drivers/net/tokenring/Kconfig -## -# CONFIG_TR is not set - -## -## file: drivers/net/tulip/Kconfig -## -# CONFIG_NET_TULIP is not set - -## -## file: drivers/net/wan/Kconfig -## -# CONFIG_WAN is not set - -## -## file: drivers/pci/hotplug/Kconfig -## -# CONFIG_HOTPLUG_PCI is not set - -## -## file: drivers/pcmcia/Kconfig -## -# CONFIG_PCCARD is not set - -## -## file: drivers/scsi/Kconfig -## -CONFIG_RAID_ATTRS=m -CONFIG_SCSI=m -CONFIG_BLK_DEV_SD=m -CONFIG_CHR_DEV_ST=m -CONFIG_CHR_DEV_OSST=m -CONFIG_BLK_DEV_SR=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=m -CONFIG_CHR_DEV_SCH=m -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_ISCSI_ATTRS=m -# CONFIG_SCSI_SAS_ATTRS is not set -CONFIG_ISCSI_TCP=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX_OLD=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -# CONFIG_SCSI_IPR is not set -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m -CONFIG_SCSI_DEBUG=m - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic79xx -## -CONFIG_SCSI_AIC79XX=m -CONFIG_AIC79XX_CMDS_PER_DEVICE=32 -CONFIG_AIC79XX_RESET_DELAY_MS=15000 -CONFIG_AIC79XX_DEBUG_ENABLE=y -CONFIG_AIC79XX_DEBUG_MASK=0 -CONFIG_AIC79XX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -CONFIG_SCSI_AIC7XXX=m -CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 -CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -CONFIG_AIC7XXX_DEBUG_ENABLE=y -CONFIG_AIC7XXX_DEBUG_MASK=0 -CONFIG_AIC7XXX_REG_PRETTY_PRINT=y - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -# CONFIG_MEGARAID_NEWGEN is not set -CONFIG_MEGARAID_LEGACY=m -CONFIG_MEGARAID_SAS=m - -## -## file: drivers/scsi/qla2xxx/Kconfig -## -CONFIG_SCSI_QLA_FC=m - -## -## file: drivers/serial/Kconfig -## -# CONFIG_SERIAL_8250 is not set -CONFIG_SERIAL_SB1250_DUART=y -CONFIG_SERIAL_SB1250_DUART_CONSOLE=y -# CONFIG_SERIAL_JSM is not set - -## -## file: drivers/spi/Kconfig -## -CONFIG_SPI=y -CONFIG_SPI_BITBANG=m -CONFIG_SPI_BUTTERFLY=m - -## -## file: drivers/telephony/Kconfig -## -# CONFIG_PHONE is not set - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=m -# CONFIG_USB_USS720 is not set - -## -## file: drivers/usb/class/Kconfig -## -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -CONFIG_USB_ISP116X_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_SL811_HCD=m - -## -## file: drivers/usb/image/Kconfig -## -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -## -## file: drivers/usb/misc/Kconfig -## -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TEST is not set - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m -# CONFIG_USB_SISUSBVGA_CON is not set - -## -## file: drivers/usb/mon/Kconfig -## -CONFIG_USB_MON=y - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -CONFIG_USB_STORAGE_ALAUDA=y -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_LIBUSUAL is not set - -## -## file: drivers/video/Kconfig -## -CONFIG_FB=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y -# CONFIG_FB_CIRRUS is not set -CONFIG_FB_PM2=m -# CONFIG_FB_PM2_FIFO_DISCONNECT is not set -CONFIG_FB_CYBER2000=m -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_S1D13XXX is not set -CONFIG_FB_NVIDIA=m -# CONFIG_FB_NVIDIA_I2C is not set -CONFIG_FB_RIVA=m -# CONFIG_FB_RIVA_I2C is not set -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -# CONFIG_FB_MATROX_I2C is not set -# CONFIG_FB_MATROX_MULTIHEAD is not set -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY=m -# CONFIG_FB_ATY_CT is not set -# CONFIG_FB_ATY_GX is not set -CONFIG_FB_SAVAGE=m -# CONFIG_FB_SAVAGE_I2C is not set -# CONFIG_FB_SAVAGE_ACCEL is not set -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_VOODOO1=m -CONFIG_FB_TRIDENT=m -# CONFIG_FB_VIRTUAL is not set - -## -## file: drivers/video/console/Kconfig -## -# CONFIG_VGA_CONSOLE is not set -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -## -## file: drivers/video/logo/Kconfig -## -CONFIG_LOGO=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -# CONFIG_LOGO_LINUX_CLUT224 is not set - -## -## file: drivers/w1/Kconfig -## -# CONFIG_W1 is not set - -## -## file: drivers/watchdog/Kconfig -## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_SOFT_WATCHDOG is not set -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set -# CONFIG_USBPCWATCHDOG is not set - -## -## file: fs/Kconfig.binfmt -## -CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_MISC=m - -## -## file: fs/cramfs/Kconfig -## -CONFIG_CRAMFS=y - -## -## file: fs/ext2/Kconfig -## -CONFIG_EXT2_FS=y - -## -## file: fs/ext3/Kconfig -## -CONFIG_EXT3_FS=y - -## -## file: fs/nfs/Kconfig -## -CONFIG_NFS_FS=y -CONFIG_ROOT_NFS=y - -## -## file: fs/partitions/Kconfig -## -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -CONFIG_SGI_PARTITION=y -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -CONFIG_KARMA_PARTITION=y -# CONFIG_EFI_PARTITION is not set - -## -## file: init/Kconfig -## -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set - -## -## file: mm/Kconfig -## -## choice: Memory model -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -## end choice - -## -## file: net/atm/Kconfig -## -# CONFIG_ATM is not set - -## -## file: net/ax25/Kconfig -## -# CONFIG_HAMRADIO is not set - -## -## file: net/decnet/Kconfig -## -# CONFIG_DECNET is not set - -## -## file: net/econet/Kconfig -## -# CONFIG_ECONET is not set - -## -## file: net/ipv4/Kconfig -## -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y - -## -## file: net/ipx/Kconfig -## -# CONFIG_IPX is not set - -## -## file: net/irda/Kconfig -## -# CONFIG_IRDA is not set - -## -## file: net/lapb/Kconfig -## -# CONFIG_LAPB is not set - -## -## file: net/wanrouter/Kconfig -## -# CONFIG_WAN_ROUTER is not set - -## -## file: net/x25/Kconfig -## -# CONFIG_X25 is not set - -## -## file: sound/Kconfig -## -CONFIG_SOUND=y -CONFIG_SOUND_PRIME=y - -## -## file: sound/core/Kconfig -## -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_SEQUENCER_OSS=y -CONFIG_SND_RTCTIMER=m -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -## -## file: sound/drivers/Kconfig -## -# CONFIG_SND_DUMMY is not set -CONFIG_SND_VIRMIDI=m -# CONFIG_SND_MTPAV is not set -CONFIG_SND_SERIAL_U16550=m -# CONFIG_SND_MPU401 is not set - -## -## file: sound/oss/Kconfig -## -# CONFIG_SOUND_MSNDCLAS is not set -CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" -CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" -# CONFIG_SOUND_MSNDPIN is not set -CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" -CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" - -## -## file: sound/pci/Kconfig -## -CONFIG_SND_AD1889=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -CONFIG_SND_BT87X_OVERCLOCK=y -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m - -## -## file: sound/pci/hda/Kconfig -## -CONFIG_SND_HDA_INTEL=m - -## -## file: unknown -## -# CONFIG_BLK_DEV_IDE_SWARM is not set -# CONFIG_LAN_SAA9730 is not set -# CONFIG_MIPS_ATLAS is not set -# CONFIG_MIPS_SEAD is not set - diff --git a/config/mipsel/defines b/config/mipsel/defines index ac9da79..e351eb9 100644 --- a/config/mipsel/defines +++ b/config/mipsel/defines @@ -10,22 +10,34 @@ kernel-arch: mips [image] initramfs: false -[r5k-cobalt_base] -class: Cobalt -longclass: Cobalt (Qube, RaQ, Qube2, RaQ2) +[r5k-cobalt_description] +hardware: Cobalt +hardware-long: Cobalt systems (Qube, RaQ, Qube2, RaQ2) -[sb1-bcm91250a_base] -class: BCM91250A -longclass: Broadcom BCM91250A (aka SWARM) +[sb1-bcm91250a_description] +hardware: BCM91250A +hardware-long: Broadcom BCM91250A systems (aka SWARM) -[sb1a-bcm91480b_base] -class: BCM91480B -longclass: Broadcom BCM91480B (aka BigSur) +[sb1-bcm91250a_image] +configs: mips/config.sb1-bcm91250a -[4kc-malta_base] -class: MIPS Malta -longclass: MIPS Malta board +[sb1a-bcm91480b_description] +hardware: BCM91480B +hardware-long: Broadcom BCM91480B systems (aka BigSur) -[5kc-malta_base] -class: MIPS Malta (64-bit) -longclass: MIPS Malta board (64-bit) +[sb1a-bcm91480b_image] +configs: mips/config.sb1a-bcm91480b + +[4kc-malta_description] +hardware: MIPS Malta +hardware-long: MIPS Malta boards + +[4kc-malta_image] +configs: mips/config.4kc-malta + +[5kc-malta_description] +hardware: MIPS Malta (64-bit) +hardware-long: MIPS Malta boards (64-bit) + +[5kc-malta_image] +configs: mips/config.5kc-malta diff --git a/config/powerpc/config b/config/powerpc/config index 54fbee6..1fa0f00 100644 --- a/config/powerpc/config +++ b/config/powerpc/config @@ -178,11 +178,6 @@ CONFIG_DRM_MGA=m # CONFIG_DRM_SIS is not set ## -## file: drivers/hid/Kconfig -## -CONFIG_THRUSTMASTER_FF=y - -## ## file: drivers/hid/usbhid/Kconfig ## CONFIG_USB_HID=m @@ -199,8 +194,6 @@ CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_FSCHER=m -CONFIG_SENSORS_FSCPOS=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_IT87=m @@ -261,11 +254,6 @@ CONFIG_I2C_PCA_ISA=m CONFIG_SCx200_ACB=m ## -## file: drivers/i2c/chips/Kconfig -## -CONFIG_SENSORS_PCF8574=m - -## ## file: drivers/ide/Kconfig ## CONFIG_IDE=y @@ -321,10 +309,10 @@ CONFIG_INPUT_JOYSTICK=y ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=m -# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -478,7 +466,6 @@ CONFIG_MMC_BLOCK=m ## ## file: drivers/net/Kconfig ## -CONFIG_DUMMY=m CONFIG_MACE=m # CONFIG_MACE_AAUI_PORT is not set CONFIG_BMAC=m @@ -533,16 +520,6 @@ CONFIG_ARCNET_COM20020=m CONFIG_ARCNET_COM20020_PCI=m ## -## file: drivers/net/hamradio/Kconfig -## -CONFIG_BPQETHER=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_BAYCOM_EPP=m -CONFIG_YAM=m - -## ## file: drivers/net/irda/Kconfig ## CONFIG_IRTTY_SIR=m @@ -636,11 +613,6 @@ CONFIG_PCI_HERMES=m CONFIG_PCMCIA_HERMES=m ## -## file: drivers/pci/Kconfig -## -# CONFIG_PCI_DEBUG is not set - -## ## file: drivers/pci/hotplug/Kconfig ## # CONFIG_HOTPLUG_PCI is not set @@ -658,6 +630,17 @@ CONFIG_I82092=m CONFIG_TCIC=m ## +## file: drivers/power/Kconfig +## +CONFIG_POWER_SUPPLY=m +CONFIG_BATTERY_PMU=m + +## +## file: drivers/rtc/Kconfig +## +CONFIG_RTC_DRV_GENERIC=y + +## ## file: drivers/scsi/Kconfig ## CONFIG_SCSI_DPT_I2O=m @@ -684,7 +667,6 @@ CONFIG_SCSI_IPR=m CONFIG_SCSI_DC395x=m CONFIG_SCSI_DC390T=m CONFIG_SCSI_NSP32=m -# CONFIG_SCSI_DEBUG is not set CONFIG_SCSI_MESH=m CONFIG_SCSI_MESH_SYNC_RATE=5 CONFIG_SCSI_MESH_RESET_DELAY_MS=4000 @@ -730,7 +712,7 @@ CONFIG_PHONE_IXJ_PCMCIA=m ## ## file: drivers/usb/Kconfig ## -CONFIG_USB=y +CONFIG_USB=m ## ## file: drivers/usb/atm/Kconfig @@ -739,27 +721,12 @@ CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m ## -## file: drivers/usb/class/Kconfig -## -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DYNAMIC_MINORS=y -# CONFIG_USB_SUSPEND is not set - -## ## file: drivers/usb/host/Kconfig ## CONFIG_USB_EHCI_HCD=m CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PPC_SOC=y -CONFIG_USB_OHCI_HCD_PPC_OF=y CONFIG_USB_OHCI_HCD_PPC_OF_BE=y CONFIG_USB_OHCI_HCD_PPC_OF_LE=y CONFIG_USB_OHCI_HCD_PCI=y @@ -768,41 +735,6 @@ CONFIG_USB_SL811_HCD=m CONFIG_USB_SL811_CS=m ## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_RIO500=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_LED=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_TEST=m - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y - -## ## file: drivers/video/Kconfig ## CONFIG_FB=y @@ -827,7 +759,6 @@ CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_MATROX_MULTIHEAD=y CONFIG_FB_RADEON=y CONFIG_FB_RADEON_I2C=y # CONFIG_FB_RADEON_DEBUG is not set @@ -870,31 +801,16 @@ CONFIG_LOGO_LINUX_VGA16=y ## ## file: drivers/watchdog/Kconfig ## -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_SOFT_WATCHDOG=m CONFIG_WATCHDOG_RTAS=m CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m -CONFIG_WDT_501_PCI=y CONFIG_USBPCWATCHDOG=m ## ## file: fs/partitions/Kconfig ## -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set CONFIG_AMIGA_PARTITION=y -# CONFIG_ATARI_PARTITION is not set CONFIG_MAC_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set CONFIG_EFI_PARTITION=y ## @@ -1073,13 +989,3 @@ CONFIG_SND_HDA_INTEL=m CONFIG_SND_POWERMAC=m CONFIG_SND_POWERMAC_AUTO_DRC=y -## -## file: sound/usb/Kconfig -## -CONFIG_SND_USB_USX2Y=m - -## -## file: unknown -## -CONFIG_RTC_DRV_PPC=y - diff --git a/config/powerpc/config.powerpc b/config/powerpc/config.powerpc index bd3eab4..15a41f1 100644 --- a/config/powerpc/config.powerpc +++ b/config/powerpc/config.powerpc @@ -28,7 +28,6 @@ CONFIG_PPC_CHRP=y ## # CONFIG_PPC64 is not set ## choice: Processor Type -CONFIG_6xx=y # CONFIG_PPC_85xx is not set # CONFIG_PPC_8xx is not set # CONFIG_40x is not set diff --git a/config/powerpc/config.powerpc64 b/config/powerpc/config.powerpc64 index 0b7d66a..cb2788a 100644 --- a/config/powerpc/config.powerpc64 +++ b/config/powerpc/config.powerpc64 @@ -98,7 +98,6 @@ CONFIG_SCANLOG=m ## CONFIG_HVC_CONSOLE=y CONFIG_HVCS=m -CONFIG_HANGCHECK_TIMER=m ## ## file: drivers/char/hw_random/Kconfig @@ -199,8 +198,6 @@ CONFIG_WATCHDOG_RTAS=m CONFIG_SPARSEMEM_MANUAL=y ## end choice CONFIG_SPARSEMEM_VMEMMAP=y -# CONFIG_MEMORY_HOTPLUG is not set -CONFIG_MIGRATION=y ## ## file: sound/ppc/Kconfig diff --git a/config/powerpc/defines b/config/powerpc/defines index 2661123..103229c 100644 --- a/config/powerpc/defines +++ b/config/powerpc/defines @@ -10,14 +10,14 @@ kernel-arch: powerpc [image] suggests: mkvmlinuz -[powerpc_base] -class: uniprocessor 32-bit PowerPC +[powerpc_description] +hardware: uniprocessor 32-bit PowerPC -[powerpc-smp_base] -class: multiprocessor 32-bit PowerPC +[powerpc-smp_description] +hardware: multiprocessor 32-bit PowerPC [powerpc-smp_image] configs: powerpc/config.powerpc powerpc/config.powerpc-smp -[powerpc64_base] -class: 64-bit PowerPC +[powerpc64_description] +hardware: 64-bit PowerPC diff --git a/config/s390/config b/config/s390/config index 15c62d9..ec0bcb8 100644 --- a/config/s390/config +++ b/config/s390/config @@ -20,8 +20,6 @@ CONFIG_PFAULT=y CONFIG_CMM=y CONFIG_CMM_PROC=y CONFIG_CMM_IUCV=y -#. unsure -# CONFIG_PAGE_STATES is not set CONFIG_APPLDATA_BASE=y CONFIG_APPLDATA_MEM=m CONFIG_APPLDATA_OS=m @@ -30,6 +28,7 @@ CONFIG_S390_HYPFS_FS=y CONFIG_KEXEC=y # CONFIG_ZFCPDUMP is not set CONFIG_S390_GUEST=y +CONFIG_SECCOMP=y ## ## file: arch/s390/kvm/Kconfig @@ -44,6 +43,11 @@ CONFIG_BLK_DEV_RAM_SIZE=24576 # CONFIG_CDROM_PKTCDVD is not set ## +## file: drivers/char/Kconfig +## +CONFIG_HVC_IUCV=y + +## ## file: drivers/crypto/Kconfig ## CONFIG_ZCRYPT=m @@ -63,7 +67,6 @@ CONFIG_S390_PRNG=m ## ## file: drivers/net/Kconfig ## -# CONFIG_DUMMY is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set @@ -128,32 +131,18 @@ CONFIG_QETH_L3=m ## ## file: drivers/scsi/Kconfig ## -# CONFIG_SCSI_DEBUG is not set CONFIG_ZFCP=m ## ## file: drivers/watchdog/Kconfig ## -# CONFIG_WATCHDOG is not set +CONFIG_ZVM_WATCHDOG=m ## ## file: fs/partitions/Kconfig ## -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set CONFIG_IBM_PARTITION=y -# CONFIG_MAC_PARTITION is not set CONFIG_BSD_DISKLABEL=y -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_EFI_PARTITION is not set ## ## file: mm/Kconfig @@ -192,7 +181,7 @@ CONFIG_IPV6=y ## ## file: net/iucv/Kconfig ## -CONFIG_IUCV=m +CONFIG_IUCV=y CONFIG_AFIUCV=m ## @@ -215,10 +204,3 @@ CONFIG_AFIUCV=m ## # CONFIG_X25 is not set -## -## file: unknown -## -CONFIG_MACHCHK_WARNING=y -# CONFIG_QDIO_DEBUG is not set -CONFIG_VIRT_TIMER=y - diff --git a/config/s390/defines b/config/s390/defines index b56e757..8f58399 100644 --- a/config/s390/defines +++ b/config/s390/defines @@ -6,41 +6,43 @@ flavours: s390x-tape kernel-arch: s390 +[description] +part-long-reader: This kernel has support to IPL (boot) from a VM reader or DASD device. +part-long-tape: This kernel has support to IPL (boot) from a tape. +part-short-tape: IPL from tape + [image] -desc-long-part-reader: This kernel has support to IPL (boot) from a VM reader or DASD device. -desc-long-part-tape: This kernel has support to IPL (boot) from a tape. -desc-short-part-tape: IPL from tape suggests: s390-tools -[s390_base] -class: IBM S/390 - -[s390_image] -desc-parts: reader +[s390_description] +hardware: IBM S/390 +parts: reader [s390-tape_base] -class: IBM S/390 modules: false +[s390-tape_description] +hardware: IBM S/390 +parts: tape + [s390-tape_image] initramfs: false -desc-parts: tape override-localversion: s390 type: plain-s390-tape -[s390x_base] -class: IBM zSeries - -[s390x_image] -desc-parts: reader +[s390x_description] +hardware: IBM zSeries +parts: reader [s390x-tape_base] -class: IBM zSeries modules: false +[s390x-tape_description] +hardware: IBM zSeries +parts: tape + [s390x-tape_image] initramfs: false -desc-parts: tape override-localversion: s390x type: plain-s390-tape diff --git a/config/sparc/config b/config/sparc/config index aa8ab39..1a495be 100644 --- a/config/sparc/config +++ b/config/sparc/config @@ -2,7 +2,12 @@ ## file: arch/sparc/Kconfig ## CONFIG_64BIT=y +## choice: Kernel page size +CONFIG_SPARC64_PAGE_SIZE_8KB=y +# CONFIG_SPARC64_PAGE_SIZE_64KB is not set +## end choice CONFIG_SECCOMP=y +# CONFIG_CMDLINE_BOOL is not set CONFIG_SUN_LDOMS=y CONFIG_PCI=y CONFIG_SUN_OPENPROMFS=m @@ -11,10 +16,17 @@ CONFIG_SUN_OPENPROMFS=m ## file: drivers/block/Kconfig ## CONFIG_BLK_DEV_FD=y +# CONFIG_PARIDE is not set # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set +CONFIG_BLK_DEV_SX8=m +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM_SIZE=16384 +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set CONFIG_SUNVDC=m ## @@ -36,9 +48,116 @@ CONFIG_PRINTER=m # CONFIG_IPMI_HANDLER is not set ## +## file: drivers/gpu/drm/Kconfig +## +CONFIG_DRM=y +CONFIG_DRM_TDFX=m +CONFIG_DRM_R128=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_MGA=m + +## +## file: drivers/hid/usbhid/Kconfig +## +CONFIG_USB_HID=y + +## ## file: drivers/hwmon/Kconfig ## +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83627HF is not set + +## +## file: drivers/i2c/Kconfig +## +CONFIG_I2C=m +CONFIG_I2C_CHARDEV=m +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set + +## +## file: drivers/i2c/busses/Kconfig +## +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +# CONFIG_I2C_VOODOO3 is not set +# CONFIG_I2C_PCA_ISA is not set +# CONFIG_I2C_STUB is not set + +## +## file: drivers/ide/Kconfig +## +CONFIG_IDE=y +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_IDE_GD=y +CONFIG_BLK_DEV_IDECD=m +CONFIG_BLK_DEV_IDETAPE=m +CONFIG_IDE_GENERIC=m +# CONFIG_BLK_DEV_OFFBOARD is not set +CONFIG_BLK_DEV_GENERIC=m +# CONFIG_BLK_DEV_OPTI621 is not set +# CONFIG_BLK_DEV_AEC62XX is not set +CONFIG_BLK_DEV_ALI15X3=m +# CONFIG_BLK_DEV_AMD74XX is not set +CONFIG_BLK_DEV_CMD64X=m +# CONFIG_BLK_DEV_TRIFLEX is not set +CONFIG_BLK_DEV_CY82C693=m +CONFIG_BLK_DEV_CS5520=m +CONFIG_BLK_DEV_CS5530=m +# CONFIG_BLK_DEV_HPT366 is not set +# CONFIG_BLK_DEV_SC1200 is not set +# CONFIG_BLK_DEV_PIIX is not set +CONFIG_BLK_DEV_NS87415=m +CONFIG_BLK_DEV_PDC202XX_OLD=m +CONFIG_BLK_DEV_PDC202XX_NEW=m +CONFIG_BLK_DEV_SVWKS=m +CONFIG_BLK_DEV_SIIMAGE=m +# CONFIG_BLK_DEV_SLC90E66 is not set +CONFIG_BLK_DEV_TRM290=m +CONFIG_BLK_DEV_VIA82CXXX=m ## ## file: drivers/input/Kconfig @@ -60,10 +179,10 @@ CONFIG_PRINTER=m ## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_SUNKBD=y CONFIG_KEYBOARD_LKKBD=m -# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set +CONFIG_KEYBOARD_SUNKBD=y +# CONFIG_KEYBOARD_XTKBD is not set ## ## file: drivers/input/misc/Kconfig @@ -76,6 +195,8 @@ CONFIG_INPUT_SPARCSPKR=m ## file: drivers/input/mouse/Kconfig ## CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_SERIAL=y # CONFIG_MOUSE_VSXXXAA is not set ## @@ -90,6 +211,11 @@ CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_RAW is not set ## +## file: drivers/input/tablet/Kconfig +## +# CONFIG_TABLET_USB_KBTAB is not set + +## ## file: drivers/input/touchscreen/Kconfig ## # CONFIG_INPUT_TOUCHSCREEN is not set @@ -100,6 +226,49 @@ CONFIG_SERIO_LIBPS2=y # CONFIG_ISDN is not set ## +## file: drivers/media/Kconfig +## +CONFIG_VIDEO_V4L1_COMPAT=y + +## +## file: drivers/media/radio/Kconfig +## +# CONFIG_RADIO_GEMTEK_PCI is not set +# CONFIG_RADIO_MAXIRADIO is not set +# CONFIG_RADIO_MAESTRO is not set +# CONFIG_USB_DSBR is not set + +## +## file: drivers/media/video/Kconfig +## +# CONFIG_VIDEO_BWQCAM is not set +# CONFIG_VIDEO_CQCAM is not set +# CONFIG_VIDEO_W9966 is not set +# CONFIG_VIDEO_CPIA is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_VIDEO_STRADIS is not set +# CONFIG_VIDEO_MXB is not set +# CONFIG_VIDEO_HEXIUM_ORION is not set +# CONFIG_VIDEO_HEXIUM_GEMINI is not set +# CONFIG_VIDEO_OVCAMCHIP is not set + +## +## file: drivers/media/video/bt8xx/Kconfig +## +CONFIG_VIDEO_BT848=m + +## +## file: drivers/media/video/cx88/Kconfig +## +# CONFIG_VIDEO_CX88 is not set + +## +## file: drivers/media/video/zoran/Kconfig +## +# CONFIG_VIDEO_ZORAN is not set + +## ## file: drivers/message/i2o/Kconfig ## # CONFIG_I2O is not set @@ -117,13 +286,39 @@ CONFIG_SERIO_LIBPS2=y ## ## file: drivers/net/Kconfig ## -CONFIG_DUMMY=m CONFIG_SUNLANCE=m CONFIG_HAPPYMEAL=m CONFIG_SUNBMAC=m CONFIG_SUNQE=m +CONFIG_SUNGEM=m CONFIG_SUNVNET=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +CONFIG_NET_PCI=y +# CONFIG_AMD8111_ETH is not set +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_B44=m +# CONFIG_FORCEDETH is not set +CONFIG_E100=m +CONFIG_FEALNX=m +CONFIG_NATSEMI=m +CONFIG_NE2K_PCI=m +# CONFIG_8139CP is not set +CONFIG_8139TOO=m +# CONFIG_8139TOO_PIO is not set +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139TOO_8129 is not set +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_SIS900=m +CONFIG_EPIC100=m +CONFIG_SUNDANCE=m +CONFIG_SUNDANCE_MMIO=y +CONFIG_VIA_RHINE=m +# CONFIG_VIA_RHINE_MMIO is not set CONFIG_MYRI_SBUS=m +CONFIG_FDDI=y +CONFIG_SKFP=m # CONFIG_HIPPI is not set CONFIG_PLIP=m CONFIG_NET_FC=y @@ -140,6 +335,18 @@ CONFIG_NET_FC=y # CONFIG_TR is not set ## +## file: drivers/net/tulip/Kconfig +## +CONFIG_NET_TULIP=y +# CONFIG_DE2104X is not set +CONFIG_TULIP=m +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_MMIO is not set +# CONFIG_DE4X5 is not set +CONFIG_WINBOND_840=m +CONFIG_DM9102=m + +## ## file: drivers/net/wan/Kconfig ## # CONFIG_WAN is not set @@ -153,25 +360,51 @@ CONFIG_PARPORT_SUNBPP=m ## file: drivers/sbus/char/Kconfig ## CONFIG_SUN_OPENPROMIO=y +CONFIG_OBP_FLASH=m +CONFIG_BBC_I2C=m +CONFIG_ENVCTRL=m +CONFIG_DISPLAY7SEG=m ## ## file: drivers/scsi/Kconfig ## CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_DMX3191D=m # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_IPS is not set +CONFIG_SCSI_INITIO=m # CONFIG_SCSI_INIA100 is not set +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_IPR=m +# CONFIG_SCSI_IPR_TRACE is not set +# CONFIG_SCSI_IPR_DUMP is not set CONFIG_SCSI_QLOGIC_1280=m CONFIG_SCSI_QLOGICPTI=m +CONFIG_SCSI_DC395x=m # CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_DEBUG is not set CONFIG_SCSI_SUNESP=m ## +## file: drivers/scsi/megaraid/Kconfig.megaraid +## +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_LEGACY=m + +## ## file: drivers/serial/Kconfig ## CONFIG_SERIAL_SUNZILOG=y CONFIG_SERIAL_SUNZILOG_CONSOLE=y +CONFIG_SERIAL_SUNSU=y +CONFIG_SERIAL_SUNSU_CONSOLE=y +CONFIG_SERIAL_SUNSAB=y +CONFIG_SERIAL_SUNSAB_CONSOLE=y +CONFIG_SERIAL_SUNHV=y CONFIG_SERIAL_JSM=m ## @@ -180,20 +413,52 @@ CONFIG_SERIAL_JSM=m # CONFIG_PHONE is not set ## +## file: drivers/usb/Kconfig +## +CONFIG_USB=m +# CONFIG_USB_USS720 is not set + +## +## file: drivers/usb/host/Kconfig +## +CONFIG_USB_EHCI_HCD=m +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_UHCI_HCD=m +# CONFIG_USB_SL811_HCD is not set + +## ## file: drivers/video/Kconfig ## CONFIG_FB=y +CONFIG_FB_MODE_HELPERS=y # CONFIG_FB_TILEBLITTING is not set # CONFIG_FB_CIRRUS is not set +CONFIG_FB_PM2=y +# CONFIG_FB_PM2_FIFO_DISCONNECT is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set CONFIG_FB_SBUS=y +# CONFIG_FB_BW2 is not set +# CONFIG_FB_CG3 is not set CONFIG_FB_CG6=y +CONFIG_FB_FFB=y +# CONFIG_FB_TCX is not set +# CONFIG_FB_CG14 is not set # CONFIG_FB_P9100 is not set +# CONFIG_FB_LEO is not set # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_NVIDIA is not set # CONFIG_FB_RIVA is not set # CONFIG_FB_MATROX is not set +CONFIG_FB_RADEON=y +# CONFIG_FB_RADEON_I2C is not set +# CONFIG_FB_RADEON_DEBUG is not set +CONFIG_FB_ATY128=y +CONFIG_FB_ATY=y +CONFIG_FB_ATY_CT=y +# CONFIG_FB_ATY_GENERIC_LCD is not set +CONFIG_FB_ATY_GX=y # CONFIG_FB_SAVAGE is not set # CONFIG_FB_SIS is not set # CONFIG_FB_NEOMAGIC is not set @@ -211,9 +476,9 @@ CONFIG_FB_CG6=y ## ## file: drivers/video/console/Kconfig ## -CONFIG_PROM_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y # CONFIG_FONTS is not set +CONFIG_FONT_8x16=y CONFIG_FONT_SUN8x16=y # CONFIG_FONT_SUN12x22 is not set @@ -223,6 +488,8 @@ CONFIG_FONT_SUN8x16=y CONFIG_LOGO=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_SUN_CLUT224=y ## ## file: drivers/w1/Kconfig @@ -230,30 +497,8 @@ CONFIG_LOGO=y # CONFIG_W1 is not set ## -## file: drivers/watchdog/Kconfig -## -# CONFIG_WATCHDOG is not set - -## -## file: fs/ext2/Kconfig -## -CONFIG_EXT2_FS=y - -## ## file: fs/partitions/Kconfig ## -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set CONFIG_SUN_PARTITION=y CONFIG_EFI_PARTITION=y @@ -339,6 +584,7 @@ CONFIG_IPX=m ## file: sound/drivers/Kconfig ## # CONFIG_SND_DUMMY is not set +CONFIG_SND_VIRMIDI=m # CONFIG_SND_MTPAV is not set # CONFIG_SND_SERIAL_U16550 is not set # CONFIG_SND_MPU401 is not set @@ -346,6 +592,7 @@ CONFIG_IPX=m ## ## file: sound/pci/Kconfig ## +CONFIG_SND_ALI5451=m # CONFIG_SND_ATIIXP is not set # CONFIG_SND_ATIIXP_MODEM is not set # CONFIG_SND_AU8810 is not set @@ -354,9 +601,13 @@ CONFIG_IPX=m # CONFIG_SND_AZT3328 is not set # CONFIG_SND_BT87X is not set # CONFIG_SND_CA0106 is not set +CONFIG_SND_CMIPCI=m # CONFIG_SND_CS4281 is not set # CONFIG_SND_CS46XX is not set +CONFIG_SND_EMU10K1=m # CONFIG_SND_EMU10K1X is not set +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m # CONFIG_SND_ES1938 is not set # CONFIG_SND_ES1968 is not set # CONFIG_SND_FM801 is not set @@ -366,6 +617,7 @@ CONFIG_IPX=m # CONFIG_SND_INTEL8X0 is not set # CONFIG_SND_INTEL8X0M is not set # CONFIG_SND_KORG1212 is not set +CONFIG_SND_MAESTRO3=m # CONFIG_SND_MIXART is not set # CONFIG_SND_NM256 is not set # CONFIG_SND_RME32 is not set diff --git a/config/sparc/config.sparc64 b/config/sparc/config.sparc64 index 2711f27..7586217 100644 --- a/config/sparc/config.sparc64 +++ b/config/sparc/config.sparc64 @@ -2,405 +2,4 @@ ## file: arch/sparc/Kconfig ## # CONFIG_SMP is not set -## choice: Kernel page size -CONFIG_SPARC64_PAGE_SIZE_8KB=y -# CONFIG_SPARC64_PAGE_SIZE_64KB is not set -## end choice -# CONFIG_CMDLINE_BOOL is not set - -## -## file: drivers/block/Kconfig -## -# CONFIG_PARIDE is not set -CONFIG_BLK_DEV_SX8=m -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM_SIZE=16384 -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -## -## file: drivers/char/Kconfig -## -CONFIG_RTC=y - -## -## file: drivers/gpu/drm/Kconfig -## -CONFIG_DRM=y -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -CONFIG_DRM_MGA=m - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=y - -## -## file: drivers/hwmon/Kconfig -## -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set - -## -## file: drivers/i2c/busses/Kconfig -## -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -# CONFIG_I2C_VOODOO3 is not set -# CONFIG_I2C_PCA_ISA is not set -# CONFIG_I2C_STUB is not set - -## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set - -## -## file: drivers/ide/Kconfig -## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -CONFIG_IDE_GENERIC=m -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=m -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -CONFIG_BLK_DEV_ALI15X3=m -# CONFIG_BLK_DEV_AMD74XX is not set -CONFIG_BLK_DEV_CMD64X=m -# CONFIG_BLK_DEV_TRIFLEX is not set -CONFIG_BLK_DEV_CY82C693=m -CONFIG_BLK_DEV_CS5520=m -CONFIG_BLK_DEV_CS5530=m -# CONFIG_BLK_DEV_HPT366 is not set -# CONFIG_BLK_DEV_SC1200 is not set -# CONFIG_BLK_DEV_PIIX is not set -CONFIG_BLK_DEV_NS87415=m -CONFIG_BLK_DEV_PDC202XX_OLD=m -CONFIG_BLK_DEV_PDC202XX_NEW=m -CONFIG_BLK_DEV_SVWKS=m -CONFIG_BLK_DEV_SIIMAGE=m -# CONFIG_BLK_DEV_SLC90E66 is not set -CONFIG_BLK_DEV_TRM290=m -CONFIG_BLK_DEV_VIA82CXXX=m - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_MOUSE_PS2=y -CONFIG_MOUSE_SERIAL=y - -## -## file: drivers/input/tablet/Kconfig -## -# CONFIG_TABLET_USB_KBTAB is not set - -## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_V4L1_COMPAT=y - -## -## file: drivers/media/radio/Kconfig -## -# CONFIG_RADIO_GEMTEK_PCI is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_MAESTRO is not set -# CONFIG_USB_DSBR is not set - -## -## file: drivers/media/video/Kconfig -## -# CONFIG_VIDEO_BWQCAM is not set -# CONFIG_VIDEO_CQCAM is not set -# CONFIG_VIDEO_W9966 is not set -# CONFIG_VIDEO_CPIA is not set -# CONFIG_VIDEO_SAA5246A is not set -# CONFIG_VIDEO_SAA5249 is not set -# CONFIG_VIDEO_STRADIS is not set -# CONFIG_VIDEO_MXB is not set -# CONFIG_VIDEO_HEXIUM_ORION is not set -# CONFIG_VIDEO_HEXIUM_GEMINI is not set -# CONFIG_VIDEO_OVCAMCHIP is not set - -## -## file: drivers/media/video/bt8xx/Kconfig -## -CONFIG_VIDEO_BT848=m - -## -## file: drivers/media/video/cx88/Kconfig -## -# CONFIG_VIDEO_CX88 is not set - -## -## file: drivers/media/video/zoran/Kconfig -## -# CONFIG_VIDEO_ZORAN is not set - -## -## file: drivers/net/Kconfig -## -CONFIG_SUNGEM=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_NET_PCI=y -# CONFIG_AMD8111_ETH is not set -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_B44=m -# CONFIG_FORCEDETH is not set -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -# CONFIG_8139CP is not set -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -# CONFIG_8139TOO_TUNE_TWISTER is not set -# CONFIG_8139TOO_8129 is not set -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SUNDANCE=m -CONFIG_SUNDANCE_MMIO=y -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_FDDI=y -CONFIG_SKFP=m - -## -## file: drivers/net/tulip/Kconfig -## -CONFIG_NET_TULIP=y -# CONFIG_DE2104X is not set -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -# CONFIG_DE4X5 is not set -CONFIG_WINBOND_840=m -CONFIG_DM9102=m - -## -## file: drivers/sbus/char/Kconfig -## -CONFIG_OBP_FLASH=m -CONFIG_BBC_I2C=m -CONFIG_ENVCTRL=m -CONFIG_DISPLAY7SEG=m - -## -## file: drivers/scsi/Kconfig -## -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_IPR=m -# CONFIG_SCSI_IPR_TRACE is not set -# CONFIG_SCSI_IPR_DUMP is not set -CONFIG_SCSI_DC395x=m - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m - -## -## file: drivers/serial/Kconfig -## -CONFIG_SERIAL_SUNSU=y -CONFIG_SERIAL_SUNSU_CONSOLE=y -CONFIG_SERIAL_SUNSAB=y -CONFIG_SERIAL_SUNSAB_CONSOLE=y -CONFIG_SERIAL_SUNHV=y - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=y -# CONFIG_USB_USS720 is not set - -## -## file: drivers/usb/class/Kconfig -## -# CONFIG_USB_ACM is not set -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=m -# CONFIG_USB_SL811_HCD is not set - -## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_RIO500=m -# CONFIG_USB_LEGOTOWER is not set -CONFIG_USB_LCD=m -CONFIG_USB_LED=m -CONFIG_USB_CYTHERM=m -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_TEST is not set - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -# CONFIG_USB_STORAGE_USBAT is not set -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -# CONFIG_USB_STORAGE_JUMPSHOT is not set - -## -## file: drivers/video/Kconfig -## -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_PM2=y -# CONFIG_FB_PM2_FIFO_DISCONNECT is not set -# CONFIG_FB_BW2 is not set -# CONFIG_FB_CG3 is not set -CONFIG_FB_FFB=y -# CONFIG_FB_TCX is not set -# CONFIG_FB_CG14 is not set -# CONFIG_FB_LEO is not set -CONFIG_FB_RADEON=y -# CONFIG_FB_RADEON_I2C is not set -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=y -CONFIG_FB_ATY=y -CONFIG_FB_ATY_CT=y -# CONFIG_FB_ATY_GENERIC_LCD is not set -CONFIG_FB_ATY_GX=y - -## -## file: drivers/video/console/Kconfig -## -CONFIG_FONT_8x16=y - -## -## file: drivers/video/logo/Kconfig -## -# CONFIG_LOGO_LINUX_CLUT224 is not set -CONFIG_LOGO_SUN_CLUT224=y - -## -## file: mm/Kconfig -## -## choice: Memory model -# CONFIG_FLATMEM_MANUAL is not set -CONFIG_SPARSEMEM_MANUAL=y -## end choice - -## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_SEQUENCER_OSS=y -# CONFIG_SND_RTCTIMER is not set - -## -## file: sound/drivers/Kconfig -## -CONFIG_SND_VIRMIDI=m - -## -## file: sound/pci/Kconfig -## -CONFIG_SND_ALI5451=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_MAESTRO3=m diff --git a/config/sparc/config.sparc64-smp b/config/sparc/config.sparc64-smp index e84c6d6..d21fda5 100644 --- a/config/sparc/config.sparc64-smp +++ b/config/sparc/config.sparc64-smp @@ -3,406 +3,5 @@ ## CONFIG_SMP=y CONFIG_NR_CPUS=32 -## choice: Kernel page size -CONFIG_SPARC64_PAGE_SIZE_8KB=y -# CONFIG_SPARC64_PAGE_SIZE_64KB is not set -## end choice CONFIG_SCHED_SMT=y -# CONFIG_CMDLINE_BOOL is not set - -## -## file: drivers/block/Kconfig -## -# CONFIG_PARIDE is not set -CONFIG_BLK_DEV_SX8=m -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM_SIZE=16384 -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -## -## file: drivers/char/Kconfig -## -CONFIG_RTC=y - -## -## file: drivers/gpu/drm/Kconfig -## -CONFIG_DRM=y -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -CONFIG_DRM_MGA=m - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=y - -## -## file: drivers/hwmon/Kconfig -## -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set - -## -## file: drivers/i2c/busses/Kconfig -## -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -# CONFIG_I2C_VOODOO3 is not set -# CONFIG_I2C_PCA_ISA is not set -# CONFIG_I2C_STUB is not set - -## -## file: drivers/i2c/chips/Kconfig -## -# CONFIG_SENSORS_PCF8574 is not set - -## -## file: drivers/ide/Kconfig -## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -CONFIG_IDE_GENERIC=m -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=m -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -CONFIG_BLK_DEV_ALI15X3=m -# CONFIG_BLK_DEV_AMD74XX is not set -CONFIG_BLK_DEV_CMD64X=m -# CONFIG_BLK_DEV_TRIFLEX is not set -CONFIG_BLK_DEV_CY82C693=m -CONFIG_BLK_DEV_CS5520=m -CONFIG_BLK_DEV_CS5530=m -# CONFIG_BLK_DEV_HPT366 is not set -# CONFIG_BLK_DEV_SC1200 is not set -# CONFIG_BLK_DEV_PIIX is not set -CONFIG_BLK_DEV_NS87415=m -CONFIG_BLK_DEV_PDC202XX_OLD=m -CONFIG_BLK_DEV_PDC202XX_NEW=m -CONFIG_BLK_DEV_SVWKS=m -CONFIG_BLK_DEV_SIIMAGE=m -# CONFIG_BLK_DEV_SLC90E66 is not set -CONFIG_BLK_DEV_TRM290=m -CONFIG_BLK_DEV_VIA82CXXX=m - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_MOUSE_PS2=y -CONFIG_MOUSE_SERIAL=y - -## -## file: drivers/input/tablet/Kconfig -## -# CONFIG_TABLET_USB_KBTAB is not set - -## -## file: drivers/media/Kconfig -## -CONFIG_VIDEO_V4L1_COMPAT=y - -## -## file: drivers/media/radio/Kconfig -## -# CONFIG_RADIO_GEMTEK_PCI is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_MAESTRO is not set -# CONFIG_USB_DSBR is not set - -## -## file: drivers/media/video/Kconfig -## -# CONFIG_VIDEO_BWQCAM is not set -# CONFIG_VIDEO_CQCAM is not set -# CONFIG_VIDEO_W9966 is not set -# CONFIG_VIDEO_CPIA is not set -# CONFIG_VIDEO_SAA5246A is not set -# CONFIG_VIDEO_SAA5249 is not set -# CONFIG_VIDEO_STRADIS is not set -# CONFIG_VIDEO_MXB is not set -# CONFIG_VIDEO_HEXIUM_ORION is not set -# CONFIG_VIDEO_HEXIUM_GEMINI is not set -# CONFIG_VIDEO_OVCAMCHIP is not set - -## -## file: drivers/media/video/bt8xx/Kconfig -## -CONFIG_VIDEO_BT848=m - -## -## file: drivers/media/video/cx88/Kconfig -## -# CONFIG_VIDEO_CX88 is not set - -## -## file: drivers/media/video/zoran/Kconfig -## -# CONFIG_VIDEO_ZORAN is not set - -## -## file: drivers/net/Kconfig -## -CONFIG_SUNGEM=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_NET_PCI=y -# CONFIG_AMD8111_ETH is not set -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_B44=m -# CONFIG_FORCEDETH is not set -CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_NATSEMI=m -CONFIG_NE2K_PCI=m -# CONFIG_8139CP is not set -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -# CONFIG_8139TOO_TUNE_TWISTER is not set -# CONFIG_8139TOO_8129 is not set -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_SIS900=m -CONFIG_EPIC100=m -CONFIG_SUNDANCE=m -CONFIG_SUNDANCE_MMIO=y -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_FDDI=y -CONFIG_SKFP=m - -## -## file: drivers/net/tulip/Kconfig -## -CONFIG_NET_TULIP=y -# CONFIG_DE2104X is not set -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -# CONFIG_DE4X5 is not set -CONFIG_WINBOND_840=m -CONFIG_DM9102=m - -## -## file: drivers/sbus/char/Kconfig -## -CONFIG_OBP_FLASH=m -CONFIG_BBC_I2C=m -CONFIG_ENVCTRL=m -CONFIG_DISPLAY7SEG=m - -## -## file: drivers/scsi/Kconfig -## -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_IPR=m -# CONFIG_SCSI_IPR_TRACE is not set -# CONFIG_SCSI_IPR_DUMP is not set -CONFIG_SCSI_DC395x=m - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m - -## -## file: drivers/serial/Kconfig -## -CONFIG_SERIAL_SUNSU=y -CONFIG_SERIAL_SUNSU_CONSOLE=y -CONFIG_SERIAL_SUNSAB=y -CONFIG_SERIAL_SUNSAB_CONSOLE=y -CONFIG_SERIAL_SUNHV=y - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=y -# CONFIG_USB_USS720 is not set - -## -## file: drivers/usb/class/Kconfig -## -# CONFIG_USB_ACM is not set -CONFIG_USB_PRINTER=m - -## -## file: drivers/usb/core/Kconfig -## -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_DYNAMIC_MINORS is not set - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=m -# CONFIG_USB_SL811_HCD is not set - -## -## file: drivers/usb/image/Kconfig -## -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m - -## -## file: drivers/usb/misc/Kconfig -## -CONFIG_USB_RIO500=m -# CONFIG_USB_LEGOTOWER is not set -CONFIG_USB_LCD=m -CONFIG_USB_LED=m -CONFIG_USB_CYTHERM=m -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_TEST is not set - -## -## file: drivers/usb/misc/sisusbvga/Kconfig -## -CONFIG_USB_SISUSBVGA=m - -## -## file: drivers/usb/storage/Kconfig -## -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -# CONFIG_USB_STORAGE_USBAT is not set -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -# CONFIG_USB_STORAGE_JUMPSHOT is not set - -## -## file: drivers/video/Kconfig -## -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_PM2=y -# CONFIG_FB_PM2_FIFO_DISCONNECT is not set -# CONFIG_FB_BW2 is not set -# CONFIG_FB_CG3 is not set -CONFIG_FB_FFB=y -# CONFIG_FB_TCX is not set -# CONFIG_FB_CG14 is not set -# CONFIG_FB_LEO is not set -CONFIG_FB_RADEON=y -# CONFIG_FB_RADEON_I2C is not set -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=y -CONFIG_FB_ATY=y -CONFIG_FB_ATY_CT=y -# CONFIG_FB_ATY_GENERIC_LCD is not set -CONFIG_FB_ATY_GX=y - -## -## file: drivers/video/console/Kconfig -## -CONFIG_FONT_8x16=y - -## -## file: drivers/video/logo/Kconfig -## -# CONFIG_LOGO_LINUX_CLUT224 is not set -CONFIG_LOGO_SUN_CLUT224=y - -## -## file: mm/Kconfig -## -## choice: Memory model -# CONFIG_FLATMEM_MANUAL is not set -CONFIG_SPARSEMEM_MANUAL=y -## end choice - -## -## file: sound/core/Kconfig -## -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_SEQUENCER_OSS=y -# CONFIG_SND_RTCTIMER is not set - -## -## file: sound/drivers/Kconfig -## -CONFIG_SND_VIRMIDI=m - -## -## file: sound/pci/Kconfig -## -CONFIG_SND_ALI5451=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_MAESTRO3=m diff --git a/config/sparc/defines b/config/sparc/defines index c3a44cb..b90fd6c 100644 --- a/config/sparc/defines +++ b/config/sparc/defines @@ -9,15 +9,15 @@ kernel-arch: sparc [image] suggests: silo, fdutils -[sparc32_base] -class: uniprocessor sparc32 (sun4m) +[sparc32_description] +hardware: uniprocessor sparc32 (sun4m) [sparc32_image] image-postproc: sparc32-image-postproc -[sparc64_base] -class: uniprocessor 64-bit UltraSPARC +[sparc64_description] +hardware: uniprocessor 64-bit UltraSPARC -[sparc64-smp_base] -class: multiprocessor 64-bit UltraSPARC +[sparc64-smp_description] +hardware: multiprocessor 64-bit UltraSPARC diff --git a/config/sparc64/defines b/config/sparc64/defines new file mode 100644 index 0000000..b026ff5 --- /dev/null +++ b/config/sparc64/defines @@ -0,0 +1,23 @@ +[base] +featuresets: + vserver +flavours: + sparc64 + sparc64-smp +kernel-arch: sparc + +[image] +configs: sparc/config +suggests: silo, fdutils + +[sparc64_description] +hardware: uniprocessor 64-bit UltraSPARC + +[sparc64_image] +configs: sparc/config.sparc64 + +[sparc64-smp_description] +hardware: multiprocessor 64-bit UltraSPARC + +[sparc64-smp_image] +configs: sparc/config.sparc64-smp diff --git a/config/sparc64/vserver/defines b/config/sparc64/vserver/defines new file mode 100644 index 0000000..73d1036 --- /dev/null +++ b/config/sparc64/vserver/defines @@ -0,0 +1,6 @@ +[base] +flavours: + sparc64 + +[image] +recommends: util-vserver diff --git a/lib/python/debian_linux/config.py b/lib/python/debian_linux/config.py index e256190..478c310 100644 --- a/lib/python/debian_linux/config.py +++ b/lib/python/debian_linux/config.py @@ -113,9 +113,11 @@ class ConfigCoreHierarchy(ConfigCore): 'modules': SchemaItemBoolean(), }, 'build': {}, + 'description': { + 'parts': SchemaItemList(), + }, 'image': { 'configs': SchemaItemList(), - 'desc-parts': SchemaItemList(), 'initramfs': SchemaItemBoolean(), 'initramfs-generators': SchemaItemList(), }, diff --git a/lib/python/debian_linux/debian.py b/lib/python/debian_linux/debian.py index e4f01e5..3b5a29a 100644 --- a/lib/python/debian_linux/debian.py +++ b/lib/python/debian_linux/debian.py @@ -117,7 +117,17 @@ class VersionLinux(Version): ) )? - -(?:[^-]+) +\d+ +(\.\d+)? +(?: + (?P<revision_experimental> + ~experimental\.\d+ + ) + | + (?P<revision_other> + [^-]+ + ) +)? $ """ _version_linux_re = re.compile(_version_linux_rules, re.X) @@ -136,6 +146,8 @@ $ else: self.linux_upstream = d['version'] self.linux_dfsg = d['dfsg'] + self.linux_revision_experimental = match.group('revision_experimental') and True + self.linux_revision_other = match.group('revision_other') and True class PackageFieldList(list): def __init__(self, value = None): @@ -192,73 +204,73 @@ class PackageDescription(object): raise TypeError class PackageRelation(list): - def __init__(self, value = None): - if value is not None: - self.extend(value) + def __init__(self, value=None, override_arches=None): + if value: + self.extend(value, override_arches) def __str__(self): return ', '.join([str(i) for i in self]) - def _match(self, value): + def _search_value(self, value): for i in self: - if i._match(value): + if i._search_value(value): return i return None - def append(self, value): + def append(self, value, override_arches=None): if isinstance(value, basestring): - value = PackageRelationGroup(value) + value = PackageRelationGroup(value, override_arches) elif not isinstance(value, PackageRelationGroup): raise ValueError, "got %s" % type(value) - j = self._match(value) + j = self._search_value(value) if j: - j._updateArches(value) + j._update_arches(value) else: super(PackageRelation, self).append(value) - def extend(self, value): + def extend(self, value, override_arches=None): if isinstance(value, basestring): value = [j.strip() for j in re.split(',', value.strip())] elif not isinstance(value, (list, tuple)): raise ValueError, "got %s" % type(value) for i in value: - self.append(i) + self.append(i, override_arches) class PackageRelationGroup(list): - def __init__(self, value = None): - if value is not None: - self.extend(value) + def __init__(self, value=None, override_arches=None): + if value: + self.extend(value, override_arches) def __str__(self): return ' | '.join([str(i) for i in self]) - def _match(self, value): + def _search_value(self, value): for i, j in itertools.izip(self, value): if i.name != j.name or i.version != j.version: return None return self - def _updateArches(self, value): + def _update_arches(self, value): for i, j in itertools.izip(self, value): if i.arches: for arch in j.arches: if arch not in i.arches: i.arches.append(arch) - def append(self, value): + def append(self, value, override_arches=None): if isinstance(value, basestring): - value = PackageRelationEntry(value) + value = PackageRelationEntry(value, override_arches) elif not isinstance(value, PackageRelationEntry): raise ValueError super(PackageRelationGroup, self).append(value) - def extend(self, value): + def extend(self, value, override_arches=None): if isinstance(value, basestring): value = [j.strip() for j in re.split('\|', value.strip())] elif not isinstance(value, (list, tuple)): raise ValueError for i in value: - self.append(i) + self.append(i, override_arches) class PackageRelationEntry(object): __slots__ = "name", "operator", "version", "arches" @@ -282,12 +294,15 @@ class PackageRelationEntry(object): def __str__(self): return self.operators_text[self._op] - def __init__(self, value = None): - if isinstance(value, basestring): - self.parse(value) - else: + def __init__(self, value=None, override_arches=None): + if not isinstance(value, basestring): raise ValueError + self.parse(value) + + if override_arches: + self.arches = list(override_arches) + def __str__(self): ret = [self.name] if self.operator is not None and self.version is not None: diff --git a/lib/python/debian_linux/gencontrol.py b/lib/python/debian_linux/gencontrol.py index 60dfb4b..90e9db6 100644 --- a/lib/python/debian_linux/gencontrol.py +++ b/lib/python/debian_linux/gencontrol.py @@ -167,7 +167,7 @@ class Gencontrol(object): pass def do_arch_recurse(self, packages, makefile, arch, vars, makeflags, extra): - for featureset in self.config['base', arch]['featuresets']: + for featureset in self.config['base', arch].get('featuresets', ()): self.do_featureset(packages, makefile, arch, featureset, vars.copy(), makeflags.copy(), extra) def do_featureset(self, packages, makefile, arch, featureset, vars, makeflags, extra): @@ -207,9 +207,6 @@ class Gencontrol(object): def do_flavour(self, packages, makefile, arch, featureset, flavour, vars, makeflags, extra): config_base = self.config.merge('base', arch, featureset, flavour) - vars['class'] = config_base['class'] - vars['longclass'] = config_base.get('longclass') or vars['class'] - vars['localversion'] += '-' + flavour self.do_flavour_setup(vars, makeflags, arch, featureset, flavour, extra) diff --git a/patches/bugfix/all/0001-xfs-fix-freeing-memory-in-xfs_getbmap.patch b/patches/bugfix/all/0001-xfs-fix-freeing-memory-in-xfs_getbmap.patch deleted file mode 100644 index 8242cf0..0000000 --- a/patches/bugfix/all/0001-xfs-fix-freeing-memory-in-xfs_getbmap.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 7747a0b0af5976ba3828796b4f7a7adc3bb76dbd Mon Sep 17 00:00:00 2001 -From: Felix Blyakher <felixb@sgi.com> -Date: Thu, 11 Jun 2009 17:07:28 -0500 -Subject: [PATCH] xfs: fix freeing memory in xfs_getbmap() - -Regression from commit 28e211700a81b0a934b6c7a4b8e7dda843634d2f. -Need to free temporary buffer allocated in xfs_getbmap(). - -Signed-off-by: Felix Blyakher <felixb@sgi.com> -Signed-off-by: Hedi Berriche <hedi@sgi.com> -Reported-by: Justin Piszcz <jpiszcz@lucidpixels.com> -Reviewed-by: Eric Sandeen <sandeen@sandeen.net> -Reviewed-by: Christoph Hellwig <hch@lst.de> ---- - fs/xfs/xfs_bmap.c | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c -index 4b0f6ef..7928b99 100644 ---- a/fs/xfs/xfs_bmap.c -+++ b/fs/xfs/xfs_bmap.c -@@ -6086,6 +6086,7 @@ xfs_getbmap( - break; - } - -+ kmem_free(out); - return error; - } - --- -1.6.3.1 - diff --git a/patches/bugfix/all/add-missing-mtd-include.patch b/patches/bugfix/all/add-missing-mtd-include.patch deleted file mode 100644 index 3cbe174..0000000 --- a/patches/bugfix/all/add-missing-mtd-include.patch +++ /dev/null @@ -1,55 +0,0 @@ -Hi Martin, - -Le Saturday 04 July 2009 23:37:41 Martin Michlmayr, vous avez écrit : -> I get the following Cobalt build failure with current git: -> -> CC arch/mips/cobalt/mtd.o -> cc1: warnings being treated as errors -> In file included from arch/mips/cobalt/mtd.c:22: -> include/linux/mtd/partitions.h:50: warning: ‘struct mtd_info’ declared -> inside parameter list include/linux/mtd/partitions.h:50: warning: its scope -> is only this definition or declaration, which is probably not what you want -> include/linux/mtd/partitions.h:51: warning: ‘struct mtd_info’ declared -> inside parameter list include/linux/mtd/partitions.h:61: warning: ‘struct -> mtd_info’ declared inside parameter list include/linux/mtd/partitions.h:67: -> warning: ‘struct mtd_info’ declared inside parameter list make[1]: *** -> [arch/mips/cobalt/mtd.o] Error 1 -> make: *** [arch/mips/cobalt] Error 2 -> -> Does anyone know if there's a fix for this already? - -I also had that problem and did the following fix, which still applies to -the mtd-2.6 tree, master branch. --- -From: Florian Fainelli <florian@openwrt.org> -Subject: [PATCH] Fix arch/mips/cobalt/mtd.c build failure - -This patch fixes a warning in include/linux/mtd/partitions which -results in the following build failure on MIPS: - CC arch/mips/cobalt/mtd.o -cc1: warnings being treated as errors -In file included from arch/mips/cobalt/mtd.c:22: -include/linux/mtd/partitions.h:50: warning: 'struct mtd_info' declared inside parameter list -include/linux/mtd/partitions.h:50: warning: its scope is only this definition or declaration, which is probably not what you want -include/linux/mtd/partitions.h:51: warning: 'struct mtd_info' declared inside parameter list -include/linux/mtd/partitions.h:61: warning: 'struct mtd_info' declared inside parameter list -include/linux/mtd/partitions.h:67: warning: 'struct mtd_info' declared inside parameter list -make[1]: *** [arch/mips/cobalt/mtd.o] Error 1 -make: *** [arch/mips/cobalt] Error 2 - -Reported-by: Martin Michlmayr <tbm@cyrius.com> -Signed-off-by: Florian Fainelli <florian@openwrt.org> ---- -diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h -index af6dcb9..c8eaf44 100644 ---- a/include/linux/mtd/partitions.h -+++ b/include/linux/mtd/partitions.h -@@ -10,7 +10,7 @@ - #define MTD_PARTITIONS_H - - #include <linux/types.h> -- -+#include <linux/mtd/mtd.h> - - /* - * Partition definition structure: diff --git a/patches/bugfix/all/cxusb-Select-all-required-frontend-and-tuner-modules.patch b/patches/bugfix/all/cxusb-Select-all-required-frontend-and-tuner-modules.patch new file mode 100644 index 0000000..a1e184e --- /dev/null +++ b/patches/bugfix/all/cxusb-Select-all-required-frontend-and-tuner-modules.patch @@ -0,0 +1,35 @@ +Subject: [PATCH] cxusb: Select all required frontend and tuner modules +From: Ben Hutchings <ben@decadent.org.uk> +Date: Thu, 11 Feb 2010 02:57:18 +0000 + +cxusb uses the atbm8830 and lgs8gxx (not lgs8gl5) frontends and the +max2165 tuner, so it needs to select them. + +Signed-off-by: Ben Hutchings <ben@decadent.org.uk> +Cc: stable@kernel.org +--- + drivers/media/dvb/dvb-usb/Kconfig | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig +index 1b24989..465295b 100644 +--- a/drivers/media/dvb/dvb-usb/Kconfig ++++ b/drivers/media/dvb/dvb-usb/Kconfig +@@ -112,11 +112,13 @@ config DVB_USB_CXUSB + select DVB_MT352 if !DVB_FE_CUSTOMISE + select DVB_ZL10353 if !DVB_FE_CUSTOMISE + select DVB_DIB7000P if !DVB_FE_CUSTOMISE +- select DVB_LGS8GL5 if !DVB_FE_CUSTOMISE + select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE ++ select DVB_ATBM8830 if !DVB_FE_CUSTOMISE ++ select DVB_LGS8GXX if !DVB_FE_CUSTOMISE + select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE + select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE + select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMISE ++ select MEDIA_TUNER_MAX2165 if !MEDIA_TUNER_CUSTOMISE + help + Say Y here to support the Conexant USB2.0 hybrid reference design. + Currently, only DVB and ATSC modes are supported, analog mode +-- +1.6.6 + diff --git a/patches/bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch b/patches/bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch new file mode 100644 index 0000000..85d9bed --- /dev/null +++ b/patches/bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch @@ -0,0 +1,35 @@ +commit 480c1e36532fc2783834d9582a11fbf1d493af42 +Author: Ben Hutchings <ben@decadent.org.uk> +Date: Sun Aug 16 03:42:24 2009 +0100 + + qla1280: Drop host_lock while requesting firmware + + request_firmware() may sleep and it appears to be safe to release the + spinlock here. + +diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c +index 5defe5e..97cbf12 100644 +--- a/drivers/scsi/qla1280.c ++++ b/drivers/scsi/qla1280.c +@@ -1642,8 +1642,10 @@ qla1280_load_firmware_pio(struct scsi_qla_host *ha) + uint16_t mb[MAILBOX_REGISTER_COUNT], i; + int err; + ++ spin_unlock_irq(ha->host->host_lock); + err = request_firmware(&fw, ql1280_board_tbl[ha->devnum].fwname, + &ha->pdev->dev); ++ spin_lock_irq(ha->host->host_lock); + if (err) { + printk(KERN_ERR "Failed to load image \"%s\" err %d\n", + ql1280_board_tbl[ha->devnum].fwname, err); +@@ -1701,8 +1703,10 @@ qla1280_load_firmware_dma(struct scsi_qla_host *ha) + return -ENOMEM; + #endif + ++ spin_unlock_irq(ha->host->host_lock); + err = request_firmware(&fw, ql1280_board_tbl[ha->devnum].fwname, + &ha->pdev->dev); ++ spin_lock_irq(ha->host->host_lock); + if (err) { + printk(KERN_ERR "Failed to load image \"%s\" err %d\n", + ql1280_board_tbl[ha->devnum].fwname, err); diff --git a/patches/bugfix/all/efifb_fix_v2.patch b/patches/bugfix/all/efifb_fix_v2.patch new file mode 100644 index 0000000..7291cfd --- /dev/null +++ b/patches/bugfix/all/efifb_fix_v2.patch @@ -0,0 +1,54 @@ +From: Marcin Slusarz <marcin.slusarz@gmail.com> +Subject: [PATCH] efifb: fix framebuffer handoff + +Commit 4410f3910947dcea8672280b3adecd53cec4e85e +(fbdev: add support for handoff from firmware to hw framebuffers) +for unknown reason didn't add fb_destroy operation to efifb. +Change aperture_size to match size passed to request_mem_region. + +See: http://bugzilla.kernel.org/show_bug.cgi?id=15151 + +Reported-by: Alex Zhavnerchik <alex.vizor@gmail.com> +Tested-by: Alex Zhavnerchik <alex.vizor@gmail.com> +Cc: Dave Airlie <airlied@redhat.com> +Cc: linux-fbdev@vger.kernel.org +Cc: dri-devel@lists.sourceforge.net +Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> +--- + drivers/video/efifb.c | 11 ++++++++++- + 1 files changed, 10 insertions(+), 1 deletions(-) + +diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c +index eb12182..d25df51 100644 +--- a/drivers/video/efifb.c ++++ b/drivers/video/efifb.c +@@ -161,8 +161,17 @@ static int efifb_setcolreg(unsigned regno, unsigned red, unsigned green, + return 0; + } + ++static void efifb_destroy(struct fb_info *info) ++{ ++ if (info->screen_base) ++ iounmap(info->screen_base); ++ release_mem_region(info->aperture_base, info->aperture_size); ++ framebuffer_release(info); ++} ++ + static struct fb_ops efifb_ops = { + .owner = THIS_MODULE, ++ .fb_destroy = efifb_destroy, + .fb_setcolreg = efifb_setcolreg, + .fb_fillrect = cfb_fillrect, + .fb_copyarea = cfb_copyarea, +@@ -281,7 +290,7 @@ static int __init efifb_probe(struct platform_device *dev) + info->par = NULL; + + info->aperture_base = efifb_fix.smem_start; +- info->aperture_size = size_total; ++ info->aperture_size = size_remap; + + info->screen_base = ioremap(efifb_fix.smem_start, efifb_fix.smem_len); + if (!info->screen_base) { +-- +1.6.6 + diff --git a/patches/bugfix/arm/export-flush_dcache_page.patch b/patches/bugfix/arm/export-flush_dcache_page.patch deleted file mode 100644 index 99b64f2..0000000 --- a/patches/bugfix/arm/export-flush_dcache_page.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: Russell King <rmk@dyn-67.arm.linux.org.uk> -Date: Sun, 5 Jul 2009 09:50:37 +0000 (+0100) -Subject: [ARM] export __cpu_flush_dcache_page -X-Git-Url: http://ftp.arm.linux.org.uk/git/gitweb.cgi?p=linux-2.6-arm.git;a=commitdiff_plain;h=ba9b42e4ff5eb68f9c946378229d7e45299d7151 - -[ARM] export __cpu_flush_dcache_page - -Now required for libsas: - - Kernel: arch/arm/boot/Image is ready - Kernel: arch/arm/boot/zImage is ready - Building modules, stage 2. - MODPOST 1096 modules -ERROR: "xscale_flush_kern_dcache_page" [drivers/scsi/libsas/libsas.ko] undefined! - -Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> ---- - -diff --git a/arch/arm/mm/proc-syms.c b/arch/arm/mm/proc-syms.c -index 195e48e..ac5c800 100644 ---- a/arch/arm/mm/proc-syms.c -+++ b/arch/arm/mm/proc-syms.c -@@ -27,6 +27,7 @@ EXPORT_SYMBOL(__cpuc_flush_kern_all); - EXPORT_SYMBOL(__cpuc_flush_user_all); - EXPORT_SYMBOL(__cpuc_flush_user_range); - EXPORT_SYMBOL(__cpuc_coherent_kern_range); -+EXPORT_SYMBOL(__cpuc_flush_dcache_page); - EXPORT_SYMBOL(dmac_inv_range); /* because of flush_ioremap_region() */ - #else - EXPORT_SYMBOL(cpu_cache); diff --git a/patches/bugfix/fix-hifn_795X-divdi3.patch b/patches/bugfix/fix-hifn_795X-divdi3.patch deleted file mode 100644 index 422059d..0000000 --- a/patches/bugfix/fix-hifn_795X-divdi3.patch +++ /dev/null @@ -1,54 +0,0 @@ -On Tue, Feb 26, 2008 at 01:21:00PM +0100, Martin Michlmayr wrote: -> With 2.6.25-rc3 and a config file with -> -> CONFIG_CRYPTO_DEV_HIFN_795X=m -> CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y -> -> I get the following build error on at least ARM and MIPS: -> -> Building modules, stage 2. -> MODPOST 759 modules -> ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined! - -Fix below. - -> Martin Michlmayr - -cu -Adrian - - -<-- snip --> - - -Using ndelay() with a 64bit variable as parameter can result in build -errors like the following on some 32bit systems when it results in a -64bit division: - -<-- snip --> - - ... - MODPOST 759 modules -ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined! - -<-- snip --> - -Reported by Martin Michlmayr. - -Signed-off-by: Adrian Bunk <bunk@kernel.org> - ---- - -40b45041ddc587c20b872a86a6a36952c28b02c7 diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c -index 3110bf7..b1541c6 100644 ---- a/drivers/crypto/hifn_795x.c -+++ b/drivers/crypto/hifn_795x.c -@@ -807,7 +807,7 @@ static int hifn_rng_data_present(struct hwrng *rng, int wait) - return 1; - if (!wait) - return 0; -- ndelay(nsec); -+ ndelay((u32)nsec); - return 1; - } - diff --git a/patches/bugfix/ia64/ia64-Include-linux-personality.h-header-in-asm-fcntl.patch b/patches/bugfix/ia64/ia64-Include-linux-personality.h-header-in-asm-fcntl.patch new file mode 100644 index 0000000..c8c6169 --- /dev/null +++ b/patches/bugfix/ia64/ia64-Include-linux-personality.h-header-in-asm-fcntl.patch @@ -0,0 +1,29 @@ +From 566d4fd4a07a92fa0023d29d2ad5477bad537288 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Sat, 19 Dec 2009 14:51:09 +0000 +Subject: [PATCH] ia64: Include <linux/personality.h> header in <asm/fcntl.h> + +The definition of force_o_largefile() references personality, but this +header does not include <linux/personality.h>. This happens to work +for sys_open(), but may not for any other users. In particular, aufs2 +now uses this macro and so fails to build on ia64. +--- + arch/ia64/include/asm/fcntl.h | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/arch/ia64/include/asm/fcntl.h b/arch/ia64/include/asm/fcntl.h +index 1dd275d..3cac8f9 100644 +--- a/arch/ia64/include/asm/fcntl.h ++++ b/arch/ia64/include/asm/fcntl.h +@@ -5,6 +5,8 @@ + * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co. + */ + ++#include <linux/personality.h> ++ + #define force_o_largefile() \ + (personality(current->personality) != PER_LINUX32) + +-- +1.6.5.7 + diff --git a/patches/bugfix/mips/disable-werror.patch b/patches/bugfix/mips/disable-werror.patch index 8bf19be..efe0664 100644 --- a/patches/bugfix/mips/disable-werror.patch +++ b/patches/bugfix/mips/disable-werror.patch @@ -8,8 +8,10 @@ arch/mips/kernel/../../../fs/binfmt_elf.c:1202: warning: ‘word’ may be used --- a/arch/mips/kernel/Makefile 2009-02-16 11:25:13.000000000 +0000 +++ b/arch/mips/kernel/Makefile 2009-02-16 11:25:23.000000000 +0000 -@@ -89,4 +89,3 @@ +@@ -100,6 +100,5 @@ - obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT) += 8250-platform.o + obj-$(CONFIG_MIPS_CPUFREQ) += cpufreq/ -EXTRA_CFLAGS += -Werror + + CPPFLAGS_vmlinux.lds := $(KBUILD_CFLAGS) diff --git a/patches/bugfix/mips/fix-smp.patch b/patches/bugfix/mips/fix-smp.patch deleted file mode 100644 index d1d6bb3..0000000 --- a/patches/bugfix/mips/fix-smp.patch +++ /dev/null @@ -1,23 +0,0 @@ -Commit fc03bc1715ca0ad4ccfe97aab16bcc9e7129c1a4 breaks compiling MIPS -with SMP disabled. This patch fixes that. - -Signed-off-by: Alexander Clouter <alex@digriz.org.uk> ---- - arch/mips/include/asm/gic.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/arch/mips/include/asm/gic.h b/arch/mips/include/asm/gic.h -index 10292e3..a8f5734 100644 ---- a/arch/mips/include/asm/gic.h -+++ b/arch/mips/include/asm/gic.h -@@ -20,7 +20,7 @@ - #define GIC_TRIG_EDGE 1 - #define GIC_TRIG_LEVEL 0 - --#if CONFIG_SMP -+#ifdef CONFIG_SMP - #define GIC_NUM_INTRS (24 + NR_CPUS * 2) - #else - #define GIC_NUM_INTRS 32 --- -1.6.3.3 diff --git a/patches/bugfix/powerpc/mm-mol.patch b/patches/bugfix/powerpc/mm-mol.patch deleted file mode 100644 index c71c19e..0000000 --- a/patches/bugfix/powerpc/mm-mol.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c -index c6b1aa3..455fb38 100644 ---- a/arch/powerpc/kernel/ppc_ksyms.c -+++ b/arch/powerpc/kernel/ppc_ksyms.c -@@ -189,6 +189,7 @@ EXPORT_SYMBOL(set_context); - extern long mol_trampoline; - EXPORT_SYMBOL(mol_trampoline); /* For MOL */ - EXPORT_SYMBOL(flush_hash_pages); /* For MOL */ -+EXPORT_SYMBOL(handle_mm_fault); /* For MOL */ - #ifdef CONFIG_SMP - extern int mmu_hash_lock; - EXPORT_SYMBOL(mmu_hash_lock); /* For MOL */ diff --git a/patches/bugfix/powerpc/oldworld-boot-fix.patch b/patches/bugfix/powerpc/oldworld-boot-fix.patch deleted file mode 100644 index aa7e824..0000000 --- a/patches/bugfix/powerpc/oldworld-boot-fix.patch +++ /dev/null @@ -1,54 +0,0 @@ -# Patch author: Benjamin Herrenschmidt <benh@kernel.crashing.org> -# Description: Fix oldworld initrd loading problems. -# It looks like older OF "setprop" is bogus and isn't actually copying the -# data but just taking a pointer. The LongTrail workaround also has that -# problem as "property" will not copy the data. This fixes the workaround -# and applies it to Apple OF 1.0.5. -# Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> -# Closes: -# 375035: Kernel 2.6.16 attempts to access root device before running initramfs init -# 366620: initramfs-tools: 2.6.16-1-powerpc fails to mount rootfs, 2.6.15-1-powerpc works -# - -Index: linux-tika/arch/powerpc/kernel/prom_init.c -=================================================================== ---- linux-tika.orig/arch/powerpc/kernel/prom_init.c 2006-09-02 09:53:00.000000000 +1000 -+++ linux-tika/arch/powerpc/kernel/prom_init.c 2006-09-18 20:55:26.000000000 +1000 -@@ -102,7 +102,7 @@ - #endif - - #define OF_WA_CLAIM 1 /* do phys/virt claim separately, then map */ --#define OF_WA_LONGTRAIL 2 /* work around longtrail bugs */ -+#define OF_WA_SETPROP 2 /* work around setprop bugs */ - - #define PROM_BUG() do { \ - prom_printf("kernel BUG at %s line 0x%x!\n", \ -@@ -472,7 +472,7 @@ - { - char cmd[256], *p; - -- if (!(OF_WORKAROUNDS & OF_WA_LONGTRAIL)) -+ if (!(OF_WORKAROUNDS & OF_WA_SETPROP)) - return call_prom("setprop", 4, 1, node, ADDR(pname), - (u32)(unsigned long) value, (u32) valuelen); - -@@ -482,6 +482,7 @@ - add_string(&p, nodename); - add_string(&p, tohex((u32)(unsigned long) value)); - add_string(&p, tohex(valuelen)); -+ add_string(&p, "encode-bytes"); - add_string(&p, tohex(ADDR(pname))); - add_string(&p, tohex(strlen(RELOC(pname)))); - add_string(&p, "property"); -@@ -1466,9 +1467,9 @@ - version[sizeof(version) - 1] = 0; - /* XXX might need to add other versions here */ - if (strcmp(version, "Open Firmware, 1.0.5") == 0) -- of_workarounds = OF_WA_CLAIM; -+ of_workarounds = OF_WA_CLAIM | OF_WA_SETPROP; - else if (strncmp(version, "FirmWorks,3.", 12) == 0) { -- of_workarounds = OF_WA_CLAIM | OF_WA_LONGTRAIL; -+ of_workarounds = OF_WA_CLAIM | OF_WA_SETPROP; - call_prom("interpret", 1, 1, "dev /memory 0 to allow-reclaim"); - } else - return; diff --git a/patches/bugfix/sparc/arch-zimage-target.patch b/patches/bugfix/sparc/arch-zimage-target.patch deleted file mode 100644 index ff86e41..0000000 --- a/patches/bugfix/sparc/arch-zimage-target.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -urpN linux-source-2.6.29.orig/arch/sparc/boot/Makefile linux-source-2.6.29/arch/sparc/boot/Makefile ---- linux-source-2.6.29.orig/arch/sparc/boot/Makefile 2009-03-23 17:12:14.000000000 -0600 -+++ linux-source-2.6.29/arch/sparc/boot/Makefile 2009-05-15 16:14:09.000000000 -0600 -@@ -79,6 +79,9 @@ $(obj)/image: vmlinux FORCE - $(call if_changed,strip) - @echo ' kernel: $@ is ready' - -+$(obj)/zImage: $(obj)/image -+ $(call if_changed,gzip) -+ - $(obj)/tftpboot.img: vmlinux $(obj)/piggyback_64 System.map $(ROOT_IMG) FORCE - $(call if_changed,elftoaout) - $(call if_changed,piggy) -diff -urpN linux-source-2.6.29.orig/arch/sparc/Makefile linux-source-2.6.29/arch/sparc/Makefile ---- linux-source-2.6.29.orig/arch/sparc/Makefile 2009-03-23 17:12:14.000000000 -0600 -+++ linux-source-2.6.29/arch/sparc/Makefile 2009-05-15 16:14:44.000000000 -0600 -@@ -91,6 +91,8 @@ endif - - boot := arch/sparc/boot - -+all: zImage -+ - image zImage tftpboot.img vmlinux.aout: vmlinux - $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ - diff --git a/patches/bugfix/sparc/drivers_net-broken.patch b/patches/bugfix/sparc/drivers_net-broken.patch deleted file mode 100644 index a3a009d..0000000 --- a/patches/bugfix/sparc/drivers_net-broken.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig -index 8aa8dd0..f3b61ce 100644 ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -2484,7 +2484,7 @@ config MYRI10GE - - config NETXEN_NIC - tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC" -- depends on PCI -+ depends on PCI && (!SPARC32 || BROKEN) - help - This enables the support for NetXen's Gigabit Ethernet card. - diff --git a/patches/bugfix/x86/kvm-Check-CPL-level-during-privilege-instruction-emulation.patch b/patches/bugfix/x86/kvm-Check-CPL-level-during-privilege-instruction-emulation.patch new file mode 100644 index 0000000..c5f31e1 --- /dev/null +++ b/patches/bugfix/x86/kvm-Check-CPL-level-during-privilege-instruction-emulation.patch @@ -0,0 +1,256 @@ +From 0a65a79a86558a413a417baddbb11062d10e69a6 Mon Sep 17 00:00:00 2001 +From: Gleb Natapov <gleb@redhat.com> +Date: Wed, 10 Feb 2010 05:31:12 +0000 +Subject: [PATCH 4/4] Check CPL level during privilege instruction emulation. + +Add CPL checking in case emulator is tricked into emulating +privilege instruction. + +[forward-ported by Ben Hutchings <ben@decadent.org.uk>] +Signed-off-by: Gleb Natapov <gleb@redhat.com> +--- + arch/x86/kvm/emulate.c | 136 ++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 136 insertions(+), 0 deletions(-) + +diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c +index 4a6526f..836d3bc 100644 +--- a/arch/x86/kvm/emulate.c ++++ b/arch/x86/kvm/emulate.c +@@ -2133,6 +2133,14 @@ special_insn: + } + break; + case 0xf4: /* hlt */ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } + ctxt->vcpu->arch.halt_request = 1; + break; + case 0xf5: /* cmc */ +@@ -2208,6 +2216,11 @@ twobyte_insn: + if (c->modrm_mod != 3 || c->modrm_rm != 1) + goto cannot_emulate; + ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + rc = kvm_fix_hypercall(ctxt->vcpu); + if (rc) + goto done; +@@ -2218,6 +2231,16 @@ twobyte_insn: + c->dst.type = OP_NONE; + break; + case 2: /* lgdt */ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + rc = read_descriptor(ctxt, ops, c->src.ptr, + &size, &address, c->op_bytes); + if (rc) +@@ -2230,6 +2253,10 @@ twobyte_insn: + if (c->modrm_mod == 3) { + switch (c->modrm_rm) { + case 1: ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } + rc = kvm_fix_hypercall(ctxt->vcpu); + if (rc) + goto done; +@@ -2238,6 +2265,16 @@ twobyte_insn: + goto cannot_emulate; + } + } else { ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + rc = read_descriptor(ctxt, ops, c->src.ptr, + &size, &address, + c->op_bytes); +@@ -2253,11 +2290,26 @@ twobyte_insn: + c->dst.val = realmode_get_cr(ctxt->vcpu, 0); + break; + case 6: /* lmsw */ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + realmode_lmsw(ctxt->vcpu, (u16)c->src.val, + &ctxt->eflags); + c->dst.type = OP_NONE; + break; + case 7: /* invlpg*/ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + emulate_invlpg(ctxt->vcpu, memop); + /* Disable writeback. */ + c->dst.type = OP_NONE; +@@ -2273,23 +2325,67 @@ twobyte_insn: + goto writeback; + break; + case 0x06: ++ if (c->lock_prefix) { ++ if (ctxt->mode == X86EMUL_MODE_REAL || ++ !(ctxt->vcpu->arch.cr0 & X86_CR0_PE)) ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ else ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + emulate_clts(ctxt->vcpu); + c->dst.type = OP_NONE; + break; + case 0x08: /* invd */ + case 0x09: /* wbinvd */ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } + case 0x0d: /* GrpP (prefetch) */ + case 0x18: /* Grp16 (prefetch/nop) */ + c->dst.type = OP_NONE; + break; + case 0x20: /* mov cr, reg */ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + if (c->modrm_mod != 3) + goto cannot_emulate; ++ + c->regs[c->modrm_rm] = + realmode_get_cr(ctxt->vcpu, c->modrm_reg); + c->dst.type = OP_NONE; /* no writeback */ + break; + case 0x21: /* mov from dr to reg */ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + if (c->modrm_mod != 3) + goto cannot_emulate; + rc = emulator_get_dr(ctxt, c->modrm_reg, &c->regs[c->modrm_rm]); +@@ -2298,6 +2394,16 @@ twobyte_insn: + c->dst.type = OP_NONE; /* no writeback */ + break; + case 0x22: /* mov reg, cr */ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + if (c->modrm_mod != 3) + goto cannot_emulate; + realmode_set_cr(ctxt->vcpu, +@@ -2305,6 +2411,16 @@ twobyte_insn: + c->dst.type = OP_NONE; + break; + case 0x23: /* mov from reg to dr */ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + if (c->modrm_mod != 3) + goto cannot_emulate; + rc = emulator_set_dr(ctxt, c->modrm_reg, +@@ -2315,6 +2431,16 @@ twobyte_insn: + break; + case 0x30: + /* wrmsr */ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + msr_data = (u32)c->regs[VCPU_REGS_RAX] + | ((u64)c->regs[VCPU_REGS_RDX] << 32); + rc = kvm_set_msr(ctxt->vcpu, c->regs[VCPU_REGS_RCX], msr_data); +@@ -2327,6 +2453,16 @@ twobyte_insn: + break; + case 0x32: + /* rdmsr */ ++ if (c->lock_prefix) { ++ kvm_queue_exception(ctxt->vcpu, UD_VECTOR); ++ goto done; ++ } ++ ++ if (kvm_x86_ops->get_cpl(ctxt->vcpu)) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ goto done; ++ } ++ + rc = kvm_get_msr(ctxt->vcpu, c->regs[VCPU_REGS_RCX], &msr_data); + if (rc) { + kvm_inject_gp(ctxt->vcpu, 0); +-- +1.6.6 + diff --git a/patches/bugfix/x86/kvm-Check-IOPL-level-during-io-instruction-emulation.patch b/patches/bugfix/x86/kvm-Check-IOPL-level-during-io-instruction-emulation.patch new file mode 100644 index 0000000..ae0654e --- /dev/null +++ b/patches/bugfix/x86/kvm-Check-IOPL-level-during-io-instruction-emulation.patch @@ -0,0 +1,163 @@ +From 79270591de89ee777f2293a1d02f46f6f3db03b3 Mon Sep 17 00:00:00 2001 +From: Gleb Natapov <gleb@redhat.com> +Date: Wed, 10 Feb 2010 05:22:09 +0000 +Subject: [PATCH 2/4] Check IOPL level during io instruction emulation. + +Make emulator check that vcpu is allowed to execute IN, INS, OUT, +OUTS, CLI, STI. + +[forward-ported by Ben Hutchings <ben@decadent.org.uk>] +Signed-off-by: Gleb Natapov <gleb@redhat.com> +--- + arch/x86/include/asm/kvm_host.h | 1 + + arch/x86/kvm/emulate.c | 18 ++++++++--- + arch/x86/kvm/x86.c | 65 +++++++++++++++++++++++++++++++++++--- + 3 files changed, 73 insertions(+), 11 deletions(-) + +diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h +index f483404..eb2531b 100644 +--- a/arch/x86/include/asm/kvm_host.h ++++ b/arch/x86/include/asm/kvm_host.h +@@ -663,6 +663,7 @@ void kvm_disable_tdp(void); + + int load_pdptrs(struct kvm_vcpu *vcpu, unsigned long cr3); + int complete_pio(struct kvm_vcpu *vcpu); ++bool kvm_check_iopl(struct kvm_vcpu *vcpu); + + struct kvm_memory_slot *gfn_to_memslot_unaliased(struct kvm *kvm, gfn_t gfn); + +diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c +index 8f159f7..91f0eed 100644 +--- a/arch/x86/kvm/emulate.c ++++ b/arch/x86/kvm/emulate.c +@@ -2098,13 +2098,21 @@ special_insn: + c->dst.type = OP_NONE; /* Disable writeback. */ + break; + case 0xfa: /* cli */ +- ctxt->eflags &= ~X86_EFLAGS_IF; +- c->dst.type = OP_NONE; /* Disable writeback. */ ++ if (kvm_check_iopl(ctxt->vcpu)) ++ kvm_inject_gp(ctxt->vcpu, 0); ++ else { ++ ctxt->eflags &= ~X86_EFLAGS_IF; ++ c->dst.type = OP_NONE; /* Disable writeback. */ ++ } + break; + case 0xfb: /* sti */ +- toggle_interruptibility(ctxt, X86_SHADOW_INT_STI); +- ctxt->eflags |= X86_EFLAGS_IF; +- c->dst.type = OP_NONE; /* Disable writeback. */ ++ if (kvm_check_iopl(ctxt->vcpu)) ++ kvm_inject_gp(ctxt->vcpu, 0); ++ else { ++ toggle_interruptibility(ctxt, X86_SHADOW_INT_STI); ++ ctxt->eflags |= X86_EFLAGS_IF; ++ c->dst.type = OP_NONE; /* Disable writeback. */ ++ } + break; + case 0xfc: /* cld */ + ctxt->eflags &= ~EFLG_DF; +diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c +index 012dd8b..06f1b69 100644 +--- a/arch/x86/kvm/x86.c ++++ b/arch/x86/kvm/x86.c +@@ -3075,10 +3075,59 @@ static int pio_string_write(struct kvm_vcpu *vcpu) + return r; + } + ++bool kvm_check_iopl(struct kvm_vcpu *vcpu) ++{ ++ int iopl; ++ if (!(vcpu->arch.cr0 & X86_CR0_PE)) ++ return false; ++ if (kvm_x86_ops->get_rflags(vcpu) & X86_EFLAGS_VM) ++ return true; ++ iopl = (kvm_x86_ops->get_rflags(vcpu) & X86_EFLAGS_IOPL) >> IOPL_SHIFT; ++ return kvm_x86_ops->get_cpl(vcpu) > iopl; ++} ++ ++bool kvm_check_io_port_access_allowed(struct kvm_vcpu *vcpu, u16 port, u16 len) ++{ ++ struct kvm_segment tr_seg; ++ int r; ++ u16 io_bitmap_ptr; ++ u8 perm, bit_idx = port & 0x7; ++ unsigned mask = (1 << len) - 1; ++ ++ kvm_get_segment(vcpu, &tr_seg, VCPU_SREG_TR); ++ if (tr_seg.unusable) ++ return false; ++ if (tr_seg.limit < 103) ++ return false; ++ r = kvm_read_guest_virt_system(tr_seg.base + 102, &io_bitmap_ptr, 2, ++ vcpu, NULL); ++ if (r != X86EMUL_CONTINUE) ++ return false; ++ if (io_bitmap_ptr + port/8 >= tr_seg.limit) ++ return false; ++ r = kvm_read_guest_virt_system(tr_seg.base + io_bitmap_ptr + port/8, ++ &perm, 1, vcpu, NULL); ++ if (r != X86EMUL_CONTINUE) ++ return false; ++ if ((perm >> bit_idx) & mask) ++ return false; ++ return true; ++} ++ + int kvm_emulate_pio(struct kvm_vcpu *vcpu, int in, int size, unsigned port) + { + unsigned long val; + ++ trace_kvm_pio(vcpu->run->io.direction == KVM_EXIT_IO_OUT, port, ++ size, 1); ++ ++ if (kvm_check_iopl(vcpu)) { ++ if (!kvm_check_io_port_access_allowed(vcpu, port, size)) { ++ kvm_inject_gp(vcpu, 0); ++ return 1; ++ } ++ } ++ + vcpu->run->exit_reason = KVM_EXIT_IO; + vcpu->run->io.direction = in ? KVM_EXIT_IO_IN : KVM_EXIT_IO_OUT; + vcpu->run->io.size = vcpu->arch.pio.size = size; +@@ -3091,9 +3140,6 @@ int kvm_emulate_pio(struct kvm_vcpu *vcpu, struct kvm_run *run, int in, + vcpu->arch.pio.down = 0; + vcpu->arch.pio.rep = 0; + +- trace_kvm_pio(vcpu->run->io.direction == KVM_EXIT_IO_OUT, port, +- size, 1); +- + val = kvm_register_read(vcpu, VCPU_REGS_RAX); + memcpy(vcpu->arch.pio_data, &val, 4); + +@@ -3112,6 +3158,16 @@ int kvm_emulate_pio_string(struct kvm_vcpu *vcpu, struct kvm_run *run, int in, + unsigned now, in_page; + int ret = 0; + ++ trace_kvm_pio(vcpu->run->io.direction == KVM_EXIT_IO_OUT, port, ++ size, 1); ++ ++ if (kvm_check_iopl(vcpu)) { ++ if (!kvm_check_io_port_access_allowed(vcpu, port, size)) { ++ kvm_inject_gp(vcpu, 0); ++ return 1; ++ } ++ } ++ + vcpu->run->exit_reason = KVM_EXIT_IO; + vcpu->run->io.direction = in ? KVM_EXIT_IO_IN : KVM_EXIT_IO_OUT; + vcpu->run->io.size = vcpu->arch.pio.size = size; +@@ -3123,9 +3179,6 @@ int kvm_emulate_pio_string(struct kvm_vcpu *vcpu, struct kvm_run *run, int in, + vcpu->arch.pio.down = down; + vcpu->arch.pio.rep = rep; + +- trace_kvm_pio(vcpu->run->io.direction == KVM_EXIT_IO_OUT, port, +- size, count); +- + if (!count) { + kvm_x86_ops->skip_emulated_instruction(vcpu); + return 1; +-- +1.6.6 + diff --git a/patches/bugfix/x86/kvm-Fix-popf-emulation.patch b/patches/bugfix/x86/kvm-Fix-popf-emulation.patch new file mode 100644 index 0000000..c7dae96 --- /dev/null +++ b/patches/bugfix/x86/kvm-Fix-popf-emulation.patch @@ -0,0 +1,102 @@ +From 7c17b3a2cd6787ef025762655827a9afe8c88d6b Mon Sep 17 00:00:00 2001 +From: Gleb Natapov <gleb@redhat.com> +Date: Wed, 10 Feb 2010 05:26:23 +0000 +Subject: [PATCH 3/4] Fix popf emulation. + +POPF behaves differently depending on current CPU mode. Emulate correct +logic to prevent guest from changing flags that it can't change +otherwise. + +[forward-ported by Ben Hutchings <ben@decadent.org.uk>] +Signed-off-by: Gleb Natapov <gleb@redhat.com> +--- + arch/x86/kvm/emulate.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++- + 1 files changed, 53 insertions(+), 1 deletions(-) + +diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c +index 91f0eed..4a6526f 100644 +--- a/arch/x86/kvm/emulate.c ++++ b/arch/x86/kvm/emulate.c +@@ -324,11 +324,18 @@ static u32 group2_table[] = { + }; + + /* EFLAGS bit definitions. */ ++#define EFLG_ID (1<<21) ++#define EFLG_VIP (1<<20) ++#define EFLG_VIF (1<<19) ++#define EFLG_AC (1<<18) + #define EFLG_VM (1<<17) + #define EFLG_RF (1<<16) ++#define EFLG_IOPL (3<<12) ++#define EFLG_NT (1<<14) + #define EFLG_OF (1<<11) + #define EFLG_DF (1<<10) + #define EFLG_IF (1<<9) ++#define EFLG_TF (1<<8) + #define EFLG_SF (1<<7) + #define EFLG_ZF (1<<6) + #define EFLG_AF (1<<4) +@@ -1189,6 +1196,48 @@ static int emulate_pop(struct x86_emulate_ctxt *ctxt, + return rc; + } + ++static int emulate_popf(struct x86_emulate_ctxt *ctxt, ++ struct x86_emulate_ops *ops, ++ void *dest, int len) ++{ ++ struct decode_cache *c = &ctxt->decode; ++ int rc; ++ unsigned long val, change_mask; ++ int iopl = (ctxt->eflags & X86_EFLAGS_IOPL) >> IOPL_SHIFT; ++ int cpl = kvm_x86_ops->get_cpl(ctxt->vcpu); ++ ++ rc = ops->read_emulated(register_address(c, ss_base(ctxt), ++ c->regs[VCPU_REGS_RSP]), ++ &val, c->src.bytes, ctxt->vcpu); ++ if (rc != X86EMUL_CONTINUE) ++ return rc; ++ ++ register_address_increment(c, &c->regs[VCPU_REGS_RSP], c->src.bytes); ++ ++ change_mask = EFLG_CF | EFLG_PF | EFLG_AF | EFLG_ZF | EFLG_SF | EFLG_OF ++ | EFLG_TF | EFLG_DF | EFLG_NT | EFLG_RF | EFLG_AC | EFLG_ID; ++ ++ if (ctxt->vcpu->arch.cr0 & X86_CR0_PE) { ++ if (cpl == 0) ++ change_mask |= EFLG_IOPL; ++ if (cpl <= iopl) ++ change_mask |= EFLG_IF; ++ } else if (ctxt->eflags & EFLG_VM) { ++ if (iopl < 3) { ++ kvm_inject_gp(ctxt->vcpu, 0); ++ return X86EMUL_PROPAGATE_FAULT; ++ } ++ change_mask |= EFLG_IF; ++ } ++ else /* real mode */ ++ change_mask |= (EFLG_IOPL | EFLG_IF); ++ ++ *(unsigned long*)dest = ++ (ctxt->eflags & ~change_mask) | (val & change_mask); ++ ++ return rc; ++} ++ + static inline int emulate_grp1a(struct x86_emulate_ctxt *ctxt, + struct x86_emulate_ops *ops) + { +@@ -1913,7 +1962,10 @@ special_insn: + c->dst.type = OP_REG; + c->dst.ptr = (unsigned long *) &ctxt->eflags; + c->dst.bytes = c->op_bytes; +- goto pop_instruction; ++ rc = emulate_popf(ctxt, ops, &c->dst.val, c->op_bytes); ++ if (rc != X86EMUL_CONTINUE) ++ goto done; ++ break; + case 0xa0 ... 0xa1: /* mov */ + c->dst.ptr = (unsigned long *)&c->regs[VCPU_REGS_RAX]; + c->dst.val = c->src.val; +-- +1.6.6 + diff --git a/patches/bugfix/x86/kvm-fix-memory-access-during-x86-emulation.patch b/patches/bugfix/x86/kvm-fix-memory-access-during-x86-emulation.patch new file mode 100644 index 0000000..4fcad7f --- /dev/null +++ b/patches/bugfix/x86/kvm-fix-memory-access-during-x86-emulation.patch @@ -0,0 +1,518 @@ +From 9f30f5c5cb976947efcfe47b6b039933ca23add7 Mon Sep 17 00:00:00 2001 +From: Gleb Natapov <gleb@redhat.com> +Date: Wed, 10 Feb 2010 05:03:36 +0000 +Subject: [PATCH 1/4] Subject: KVM: fix memory access during x86 emulation. + +Currently when x86 emulator needs to access memory, page walk is done with +broadest permission possible, so if emulated instruction was executed +by userspace process it can still access kernel memory. Fix that by +providing correct memory access to page walker during emulation. + +[forward-ported by Ben Hutchings <ben@decadent.org.uk] +Signed-off-by: Gleb Natapov <gleb@redhat.com> +--- + arch/x86/include/asm/kvm_emulate.h | 14 +++- + arch/x86/include/asm/kvm_host.h | 7 ++- + arch/x86/kvm/emulate.c | 6 +- + arch/x86/kvm/mmu.c | 17 ++--- + arch/x86/kvm/mmu.h | 6 ++ + arch/x86/kvm/paging_tmpl.h | 11 ++- + arch/x86/kvm/x86.c | 130 ++++++++++++++++++++++++++++-------- + 7 files changed, 143 insertions(+), 48 deletions(-) + +diff --git a/arch/x86/include/asm/kvm_emulate.h b/arch/x86/include/asm/kvm_emulate.h +index 7c18e12..1ff11e7 100644 +--- a/arch/x86/include/asm/kvm_emulate.h ++++ b/arch/x86/include/asm/kvm_emulate.h +@@ -54,13 +54,23 @@ struct x86_emulate_ctxt; + struct x86_emulate_ops { + /* + * read_std: Read bytes of standard (non-emulated/special) memory. +- * Used for instruction fetch, stack operations, and others. ++ * Used for descriptor reading. + * @addr: [IN ] Linear address from which to read. + * @val: [OUT] Value read from memory, zero-extended to 'u_long'. + * @bytes: [IN ] Number of bytes to read from memory. + */ + int (*read_std)(unsigned long addr, void *val, +- unsigned int bytes, struct kvm_vcpu *vcpu); ++ unsigned int bytes, struct kvm_vcpu *vcpu, u32 *error); ++ ++ /* ++ * fetch: Read bytes of standard (non-emulated/special) memory. ++ * Used for instruction fetch. ++ * @addr: [IN ] Linear address from which to read. ++ * @val: [OUT] Value read from memory, zero-extended to 'u_long'. ++ * @bytes: [IN ] Number of bytes to read from memory. ++ */ ++ int (*fetch)(unsigned long addr, void *val, ++ unsigned int bytes, struct kvm_vcpu *vcpu, u32 *error); + + /* + * read_emulated: Read bytes from emulated/special memory area. +diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h +index d759a1f..f483404 100644 +--- a/arch/x86/include/asm/kvm_host.h ++++ b/arch/x86/include/asm/kvm_host.h +@@ -256,7 +256,8 @@ struct kvm_mmu { + void (*new_cr3)(struct kvm_vcpu *vcpu); + int (*page_fault)(struct kvm_vcpu *vcpu, gva_t gva, u32 err); + void (*free)(struct kvm_vcpu *vcpu); +- gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t gva); ++ gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t gva, u32 access, ++ u32 *error); + void (*prefetch_page)(struct kvm_vcpu *vcpu, + struct kvm_mmu_page *page); + int (*sync_page)(struct kvm_vcpu *vcpu, +@@ -645,6 +646,10 @@ void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu); + int kvm_mmu_load(struct kvm_vcpu *vcpu); + void kvm_mmu_unload(struct kvm_vcpu *vcpu); + void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu); ++gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva, u32 *error); ++gpa_t kvm_mmu_gva_to_gpa_fetch(struct kvm_vcpu *vcpu, gva_t gva, u32 *error); ++gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva, u32 *error); ++gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva, u32 *error); + + int kvm_emulate_hypercall(struct kvm_vcpu *vcpu); + +diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c +index e02dbb6..8f159f7 100644 +--- a/arch/x86/kvm/emulate.c ++++ b/arch/x86/kvm/emulate.c +@@ -597,7 +597,7 @@ static int do_fetch_insn_byte(struct x86_emulate_ctxt *ctxt, + + if (linear < fc->start || linear >= fc->end) { + size = min(15UL, PAGE_SIZE - offset_in_page(linear)); +- rc = ops->read_std(linear, fc->data, size, ctxt->vcpu); ++ rc = ops->fetch(linear, fc->data, size, ctxt->vcpu, NULL); + if (rc) + return rc; + fc->start = linear; +@@ -652,11 +652,11 @@ static int read_descriptor(struct x86_emulate_ctxt *ctxt, + op_bytes = 3; + *address = 0; + rc = ops->read_std((unsigned long)ptr, (unsigned long *)size, 2, +- ctxt->vcpu); ++ ctxt->vcpu, NULL); + if (rc) + return rc; + rc = ops->read_std((unsigned long)ptr + 2, address, op_bytes, +- ctxt->vcpu); ++ ctxt->vcpu, NULL); + return rc; + } + +diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c +index 3a01519..9983219 100644 +--- a/arch/x86/kvm/mmu.c ++++ b/arch/x86/kvm/mmu.c +@@ -136,12 +136,6 @@ module_param(oos_shadow, bool, 0644); + #define PT64_PERM_MASK (PT_PRESENT_MASK | PT_WRITABLE_MASK | PT_USER_MASK \ + | PT64_NX_MASK) + +-#define PFERR_PRESENT_MASK (1U << 0) +-#define PFERR_WRITE_MASK (1U << 1) +-#define PFERR_USER_MASK (1U << 2) +-#define PFERR_RSVD_MASK (1U << 3) +-#define PFERR_FETCH_MASK (1U << 4) +- + #define PT_PDPE_LEVEL 3 + #define PT_DIRECTORY_LEVEL 2 + #define PT_PAGE_TABLE_LEVEL 1 +@@ -1639,7 +1633,7 @@ struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva) + { + struct page *page; + +- gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, gva); ++ gpa_t gpa = kvm_mmu_gva_to_gpa_read(vcpu, gva, NULL); + + if (gpa == UNMAPPED_GVA) + return NULL; +@@ -2162,8 +2156,11 @@ void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu) + spin_unlock(&vcpu->kvm->mmu_lock); + } + +-static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t vaddr) ++static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t vaddr, ++ u32 access, u32 *error) + { ++ if (error) ++ *error = 0; + return vaddr; + } + +@@ -2747,7 +2744,7 @@ int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva) + if (tdp_enabled) + return 0; + +- gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, gva); ++ gpa = kvm_mmu_gva_to_gpa_read(vcpu, gva, NULL); + + spin_lock(&vcpu->kvm->mmu_lock); + r = kvm_mmu_unprotect_page(vcpu->kvm, gpa >> PAGE_SHIFT); +@@ -3245,7 +3242,7 @@ static void audit_mappings_page(struct kvm_vcpu *vcpu, u64 page_pte, + if (is_shadow_present_pte(ent) && !is_last_spte(ent, level)) + audit_mappings_page(vcpu, ent, va, level - 1); + else { +- gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, va); ++ gpa_t gpa = kvm_mmu_gva_to_gpa_system(vcpu, va, NULL); + gfn_t gfn = gpa >> PAGE_SHIFT; + pfn_t pfn = gfn_to_pfn(vcpu->kvm, gfn); + hpa_t hpa = (hpa_t)pfn << PAGE_SHIFT; +diff --git a/arch/x86/kvm/mmu.h b/arch/x86/kvm/mmu.h +index 61a1b38..bac7529 100644 +--- a/arch/x86/kvm/mmu.h ++++ b/arch/x86/kvm/mmu.h +@@ -37,6 +37,12 @@ + #define PT32_ROOT_LEVEL 2 + #define PT32E_ROOT_LEVEL 3 + ++#define PFERR_PRESENT_MASK (1U << 0) ++#define PFERR_WRITE_MASK (1U << 1) ++#define PFERR_USER_MASK (1U << 2) ++#define PFERR_RSVD_MASK (1U << 3) ++#define PFERR_FETCH_MASK (1U << 4) ++ + int kvm_mmu_get_spte_hierarchy(struct kvm_vcpu *vcpu, u64 addr, u64 sptes[4]); + + static inline void kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu) +diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h +index 5fa3325..0b7617b 100644 +--- a/arch/x86/kvm/paging_tmpl.h ++++ b/arch/x86/kvm/paging_tmpl.h +@@ -491,18 +491,23 @@ static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva) + spin_unlock(&vcpu->kvm->mmu_lock); + } + +-static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t vaddr) ++static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t vaddr, u32 access, ++ u32 *error) + { + struct guest_walker walker; + gpa_t gpa = UNMAPPED_GVA; + int r; + +- r = FNAME(walk_addr)(&walker, vcpu, vaddr, 0, 0, 0); ++ r = FNAME(walk_addr)(&walker, vcpu, vaddr, ++ !!(access & PFERR_WRITE_MASK), ++ !!(access & PFERR_USER_MASK), ++ !!(access & PFERR_FETCH_MASK)); + + if (r) { + gpa = gfn_to_gpa(walker.gfn); + gpa |= vaddr & ~PAGE_MASK; +- } ++ } else if(error) ++ *error = walker.error_code; + + return gpa; + } +diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c +index 145741c..012dd8b 100644 +--- a/arch/x86/kvm/x86.c ++++ b/arch/x86/kvm/x86.c +@@ -2506,14 +2506,41 @@ static int vcpu_mmio_read(struct kvm_vcpu *vcpu, gpa_t addr, int len, void *v) + return kvm_io_bus_read(&vcpu->kvm->mmio_bus, addr, len, v); + } + +-static int kvm_read_guest_virt(gva_t addr, void *val, unsigned int bytes, +- struct kvm_vcpu *vcpu) ++gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva, u32 *error) ++{ ++ u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; ++ return vcpu->arch.mmu.gva_to_gpa(vcpu, gva, access, error); ++} ++ ++ gpa_t kvm_mmu_gva_to_gpa_fetch(struct kvm_vcpu *vcpu, gva_t gva, u32 *error) ++{ ++ u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; ++ access |= PFERR_FETCH_MASK; ++ return vcpu->arch.mmu.gva_to_gpa(vcpu, gva, access, error); ++} ++ ++gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva, u32 *error) ++{ ++ u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; ++ access |= PFERR_WRITE_MASK; ++ return vcpu->arch.mmu.gva_to_gpa(vcpu, gva, access, error); ++} ++ ++/* uses this to access any guet's mapped memory without checking CPL */ ++gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva, u32 *error) ++{ ++ return vcpu->arch.mmu.gva_to_gpa(vcpu, gva, 0, error); ++} ++ ++static int kvm_read_guest_virt_helper(gva_t addr, void *val, unsigned int bytes, ++ struct kvm_vcpu *vcpu, u32 access, ++ u32 *error) + { + void *data = val; + int r = X86EMUL_CONTINUE; + + while (bytes) { +- gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); ++ gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr, access, error); + unsigned offset = addr & (PAGE_SIZE-1); + unsigned toread = min(bytes, (unsigned)PAGE_SIZE - offset); + int ret; +@@ -2536,14 +2563,37 @@ out: + return r; + } + ++/* used for instruction fetching */ ++static int kvm_fetch_guest_virt(gva_t addr, void *val, unsigned int bytes, ++ struct kvm_vcpu *vcpu, u32 *error) ++{ ++ u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; ++ return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, ++ access | PFERR_FETCH_MASK, error); ++} ++ ++static int kvm_read_guest_virt(gva_t addr, void *val, unsigned int bytes, ++ struct kvm_vcpu *vcpu, u32 *error) ++{ ++ u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; ++ return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, access, ++ error); ++} ++ ++static int kvm_read_guest_virt_system(gva_t addr, void *val, unsigned int bytes, ++ struct kvm_vcpu *vcpu, u32 *error) ++{ ++ return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, 0, error); ++} ++ + static int kvm_write_guest_virt(gva_t addr, void *val, unsigned int bytes, +- struct kvm_vcpu *vcpu) ++ struct kvm_vcpu *vcpu, u32 *error) + { + void *data = val; + int r = X86EMUL_CONTINUE; + + while (bytes) { +- gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); ++ gpa_t gpa = kvm_mmu_gva_to_gpa_write(vcpu, addr, error); + unsigned offset = addr & (PAGE_SIZE-1); + unsigned towrite = min(bytes, (unsigned)PAGE_SIZE - offset); + int ret; +@@ -2573,6 +2623,7 @@ static int emulator_read_emulated(unsigned long addr, + struct kvm_vcpu *vcpu) + { + gpa_t gpa; ++ u32 error_code; + + if (vcpu->mmio_read_completed) { + memcpy(val, vcpu->mmio_data, bytes); +@@ -2582,17 +2633,20 @@ static int emulator_read_emulated(unsigned long addr, + return X86EMUL_CONTINUE; + } + +- gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); ++ gpa = kvm_mmu_gva_to_gpa_read(vcpu, addr, &error_code); ++ ++ if (gpa == UNMAPPED_GVA) { ++ kvm_inject_page_fault(vcpu, addr, error_code); ++ return X86EMUL_PROPAGATE_FAULT; ++ } + + /* For APIC access vmexit */ + if ((gpa & PAGE_MASK) == APIC_DEFAULT_PHYS_BASE) + goto mmio; + +- if (kvm_read_guest_virt(addr, val, bytes, vcpu) ++ if (kvm_read_guest_virt(addr, val, bytes, vcpu, NULL) + == X86EMUL_CONTINUE) + return X86EMUL_CONTINUE; +- if (gpa == UNMAPPED_GVA) +- return X86EMUL_PROPAGATE_FAULT; + + mmio: + /* +@@ -2631,11 +2685,12 @@ static int emulator_write_emulated_onepage(unsigned long addr, + struct kvm_vcpu *vcpu) + { + gpa_t gpa; ++ u32 error_code; + +- gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); ++ gpa = kvm_mmu_gva_to_gpa_write(vcpu, addr, &error_code); + + if (gpa == UNMAPPED_GVA) { +- kvm_inject_page_fault(vcpu, addr, 2); ++ kvm_inject_page_fault(vcpu, addr, error_code); + return X86EMUL_PROPAGATE_FAULT; + } + +@@ -2699,7 +2754,7 @@ static int emulator_cmpxchg_emulated(unsigned long addr, + char *kaddr; + u64 val; + +- gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); ++ gpa = kvm_mmu_gva_to_gpa_write(vcpu, addr, NULL); + + if (gpa == UNMAPPED_GVA || + (gpa & PAGE_MASK) == APIC_DEFAULT_PHYS_BASE) +@@ -2778,7 +2833,7 @@ void kvm_report_emulation_failure(struct kvm_vcpu *vcpu, const char *context) + + rip_linear = rip + get_segment_base(vcpu, VCPU_SREG_CS); + +- kvm_read_guest_virt(rip_linear, (void *)opcodes, 4, vcpu); ++ kvm_read_guest_virt(rip_linear, (void *)opcodes, 4, vcpu, NULL); + + printk(KERN_ERR "emulation failed (%s) rip %lx %02x %02x %02x %02x\n", + context, rip, opcodes[0], opcodes[1], opcodes[2], opcodes[3]); +@@ -2787,6 +2842,7 @@ EXPORT_SYMBOL_GPL(kvm_report_emulation_failure); + + static struct x86_emulate_ops emulate_ops = { + .read_std = kvm_read_guest_virt, ++ .fetch = kvm_fetch_guest_virt, + .read_emulated = emulator_read_emulated, + .write_emulated = emulator_write_emulated, + .cmpxchg_emulated = emulator_cmpxchg_emulated, +@@ -2922,12 +2978,17 @@ static int pio_copy_data(struct kvm_vcpu *vcpu) + gva_t q = vcpu->arch.pio.guest_gva; + unsigned bytes; + int ret; ++ u32 error_code; + + bytes = vcpu->arch.pio.size * vcpu->arch.pio.cur_count; + if (vcpu->arch.pio.in) +- ret = kvm_write_guest_virt(q, p, bytes, vcpu); ++ ret = kvm_write_guest_virt(q, p, bytes, vcpu, &error_code); + else +- ret = kvm_read_guest_virt(q, p, bytes, vcpu); ++ ret = kvm_read_guest_virt(q, p, bytes, vcpu, &error_code); ++ ++ if (ret == X86EMUL_PROPAGATE_FAULT) ++ kvm_inject_page_fault(vcpu, q, error_code); ++ + return ret; + } + +@@ -2948,7 +3009,7 @@ int complete_pio(struct kvm_vcpu *vcpu) + if (io->in) { + r = pio_copy_data(vcpu); + if (r) +- return r; ++ goto out; + } + + delta = 1; +@@ -2976,6 +3037,7 @@ int complete_pio(struct kvm_vcpu *vcpu) + } + } + ++out: + io->count -= io->cur_count; + io->cur_count = 0; + +@@ -3095,10 +3157,8 @@ int kvm_emulate_pio_string(struct kvm_vcpu *vcpu, struct kvm_run *run, int in, + if (!vcpu->arch.pio.in) { + /* string PIO write */ + ret = pio_copy_data(vcpu); +- if (ret == X86EMUL_PROPAGATE_FAULT) { +- kvm_inject_gp(vcpu, 0); ++ if (ret == X86EMUL_PROPAGATE_FAULT) + return 1; +- } + if (ret == 0 && !pio_string_write(vcpu)) { + complete_pio(vcpu); + if (vcpu->arch.pio.count == 0) +@@ -4078,7 +4138,7 @@ static int load_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, + kvm_queue_exception_e(vcpu, GP_VECTOR, selector & 0xfffc); + return 1; + } +- return kvm_read_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu); ++ return kvm_read_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu, NULL); + } + + /* allowed just for 8 bytes segments */ +@@ -4092,15 +4152,27 @@ static int save_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, + + if (dtable.limit < index * 8 + 7) + return 1; +- return kvm_write_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu); ++ return kvm_write_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu, NULL); ++} ++ ++static gpa_t get_tss_base_addr_read(struct kvm_vcpu *vcpu, ++ struct desc_struct *seg_desc) ++{ ++ u32 base_addr; ++ ++ base_addr = seg_desc->base0; ++ base_addr |= (seg_desc->base1 << 16); ++ base_addr |= (seg_desc->base2 << 24); ++ ++ return kvm_mmu_gva_to_gpa_read(vcpu, base_addr, NULL); + } + +-static gpa_t get_tss_base_addr(struct kvm_vcpu *vcpu, ++static gpa_t get_tss_base_addr_write(struct kvm_vcpu *vcpu, + struct desc_struct *seg_desc) + { + u32 base_addr = get_desc_base(seg_desc); + +- return vcpu->arch.mmu.gva_to_gpa(vcpu, base_addr); ++ return kvm_mmu_gva_to_gpa_write(vcpu, base_addr, NULL); + } + + static u16 get_segment_selector(struct kvm_vcpu *vcpu, int seg) +@@ -4303,7 +4375,7 @@ static int kvm_task_switch_16(struct kvm_vcpu *vcpu, u16 tss_selector, + sizeof tss_segment_16)) + goto out; + +- if (kvm_read_guest(vcpu->kvm, get_tss_base_addr(vcpu, nseg_desc), ++ if (kvm_read_guest(vcpu->kvm, get_tss_base_addr_read(vcpu, nseg_desc), + &tss_segment_16, sizeof tss_segment_16)) + goto out; + +@@ -4311,7 +4383,7 @@ static int kvm_task_switch_16(struct kvm_vcpu *vcpu, u16 tss_selector, + tss_segment_16.prev_task_link = old_tss_sel; + + if (kvm_write_guest(vcpu->kvm, +- get_tss_base_addr(vcpu, nseg_desc), ++ get_tss_base_addr_write(vcpu, nseg_desc), + &tss_segment_16.prev_task_link, + sizeof tss_segment_16.prev_task_link)) + goto out; +@@ -4342,7 +4414,7 @@ static int kvm_task_switch_32(struct kvm_vcpu *vcpu, u16 tss_selector, + sizeof tss_segment_32)) + goto out; + +- if (kvm_read_guest(vcpu->kvm, get_tss_base_addr(vcpu, nseg_desc), ++ if (kvm_read_guest(vcpu->kvm, get_tss_base_addr_read(vcpu, nseg_desc), + &tss_segment_32, sizeof tss_segment_32)) + goto out; + +@@ -4350,7 +4422,7 @@ static int kvm_task_switch_32(struct kvm_vcpu *vcpu, u16 tss_selector, + tss_segment_32.prev_task_link = old_tss_sel; + + if (kvm_write_guest(vcpu->kvm, +- get_tss_base_addr(vcpu, nseg_desc), ++ get_tss_base_addr_write(vcpu, nseg_desc), + &tss_segment_32.prev_task_link, + sizeof tss_segment_32.prev_task_link)) + goto out; +@@ -4373,7 +4445,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason) + u32 old_tss_base = get_segment_base(vcpu, VCPU_SREG_TR); + u16 old_tss_sel = get_segment_selector(vcpu, VCPU_SREG_TR); + +- old_tss_base = vcpu->arch.mmu.gva_to_gpa(vcpu, old_tss_base); ++ old_tss_base = kvm_mmu_gva_to_gpa_write(vcpu, old_tss_base, NULL); + + /* FIXME: Handle errors. Failure to read either TSS or their + * descriptors should generate a pagefault. +@@ -4582,7 +4654,7 @@ int kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu *vcpu, + + vcpu_load(vcpu); + down_read(&vcpu->kvm->slots_lock); +- gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, vaddr); ++ gpa = kvm_mmu_gva_to_gpa_system(vcpu, vaddr, NULL); + up_read(&vcpu->kvm->slots_lock); + tr->physical_address = gpa; + tr->valid = gpa != UNMAPPED_GVA; +-- +1.6.6 + diff --git a/patches/debian/dfsg/drivers-gpu-drm-mga-disable.patch b/patches/debian/dfsg/drivers-gpu-drm-mga-disable.patch deleted file mode 100644 index 4593a7f..0000000 --- a/patches/debian/dfsg/drivers-gpu-drm-mga-disable.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9d67de9a0ec1c9eed5be2c733210e9759c063b12 Mon Sep 17 00:00:00 2001 -From: Ben Hutchings <ben@decadent.org.uk> -Date: Sat, 18 Oct 2008 02:46:55 +0100 -Subject: [PATCH 16/24] mga: Mark as broken - ---- - drivers/gpu/drm/Kconfig | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig -index 09ed655..853814c 100644 ---- a/drivers/gpu/drm/Kconfig -+++ b/drivers/gpu/drm/Kconfig -@@ -81,6 +81,7 @@ endchoice - config DRM_MGA - tristate "Matrox g200/g400" - depends on DRM -+ depends on BROKEN - help - Choose this option if you have a Matrox G200, G400 or G450 graphics - card. If M is selected, the module will be called mga. AGP --- -1.6.1.3 - diff --git a/patches/debian/dfsg/drivers-gpu-drm-r128-disable.patch b/patches/debian/dfsg/drivers-gpu-drm-r128-disable.patch deleted file mode 100644 index 8e04010..0000000 --- a/patches/debian/dfsg/drivers-gpu-drm-r128-disable.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 2765959b3b6f56ada99e770c1001861a5de2d1b7 Mon Sep 17 00:00:00 2001 -From: Ben Hutchings <ben@decadent.org.uk> -Date: Wed, 15 Oct 2008 00:40:17 +0100 -Subject: [PATCH 01/24] r128: Add #ifdef markers around firmware and mark broken - ---- - drivers/gpu/drm/Kconfig | 1 + - drivers/gpu/drm/r128/r128_cce.c | 2 ++ - 2 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig -index a8b33c2..725f244 100644 ---- a/drivers/gpu/drm/Kconfig -+++ b/drivers/gpu/drm/Kconfig -@@ -26,6 +26,7 @@ config DRM_TDFX - config DRM_R128 - tristate "ATI Rage 128" - depends on DRM && PCI -+ depends on BROKEN - help - Choose this option if you have an ATI Rage 128 graphics card. If M - is selected, the module will be called r128. AGP support for -diff --git a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c -index c31afbd..04d8358 100644 ---- a/drivers/gpu/drm/r128/r128_cce.c -+++ b/drivers/gpu/drm/r128/r128_cce.c -@@ -36,6 +36,7 @@ - - #define R128_FIFO_DEBUG 0 - -+#ifdef REMOVE_DFSG - /* CCE microcode (from ATI) */ - static u32 r128_cce_microcode[] = { - 0, 276838400, 0, 268449792, 2, 142, 2, 145, 0, 1076765731, 0, -@@ -80,6 +81,7 @@ static u32 r128_cce_microcode[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }; -+#endif /* REMOVE_DFSG */ - - static int R128_READ_PLL(struct drm_device * dev, int addr) - { --- -1.6.1.3 - diff --git a/patches/debian/dfsg/drivers-gpu-drm-radeon-disable.patch b/patches/debian/dfsg/drivers-gpu-drm-radeon-disable.patch deleted file mode 100644 index 8247ab2..0000000 --- a/patches/debian/dfsg/drivers-gpu-drm-radeon-disable.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/drivers/gpu/drm/Kconfig -+++ b/drivers/gpu/drm/Kconfig -@@ -35,4 +35,5 @@ - config DRM_RADEON - tristate "ATI Radeon" -+ depends on BROKEN - depends on DRM && PCI - select FB_CFB_FILLRECT diff --git a/patches/debian/dfsg/drivers-infiniband-hw-ipath-iba7220-disable.patch b/patches/debian/dfsg/drivers-infiniband-hw-ipath-iba7220-disable.patch new file mode 100644 index 0000000..41cf950 --- /dev/null +++ b/patches/debian/dfsg/drivers-infiniband-hw-ipath-iba7220-disable.patch @@ -0,0 +1,63 @@ +From 3b33fb5615618bb666f2dea6713b4e888e2eae7a Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Mon, 17 Aug 2009 01:18:50 +0100 +Subject: [PATCH 1/3] ib_ipath: Disable support for IBA7220 + +IBA7220 requires non-free firmware which is about to be removed. +--- + drivers/infiniband/hw/ipath/Makefile | 8 ++++---- + drivers/infiniband/hw/ipath/ipath_driver.c | 4 ++++ + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/drivers/infiniband/hw/ipath/Makefile b/drivers/infiniband/hw/ipath/Makefile +index bf94500..42d8d4c 100644 +--- a/drivers/infiniband/hw/ipath/Makefile ++++ b/drivers/infiniband/hw/ipath/Makefile +@@ -29,10 +29,10 @@ ib_ipath-y := \ + ipath_user_pages.o \ + ipath_user_sdma.o \ + ipath_verbs_mcast.o \ +- ipath_verbs.o \ +- ipath_iba7220.o \ +- ipath_sd7220.o \ +- ipath_sd7220_img.o ++ ipath_verbs.o ++ ++# IBA7220 depends on firmware to be removed ++ib_ipath-$(CONFIG_BROKEN) += ipath_iba7220.o ipath_sd7220.o + + ib_ipath-$(CONFIG_HT_IRQ) += ipath_iba6110.o + ib_ipath-$(CONFIG_PCI_MSI) += ipath_iba6120.o +diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c +index 04e88b6..20407a0 100644 +--- a/drivers/infiniband/hw/ipath/ipath_driver.c ++++ b/drivers/infiniband/hw/ipath/ipath_driver.c +@@ -140,7 +140,9 @@ static int __devinit ipath_init_one(struct pci_dev *, + static const struct pci_device_id ipath_pci_tbl[] = { + { PCI_DEVICE(PCI_VENDOR_ID_PATHSCALE, PCI_DEVICE_ID_INFINIPATH_HT) }, + { PCI_DEVICE(PCI_VENDOR_ID_PATHSCALE, PCI_DEVICE_ID_INFINIPATH_PE800) }, ++#ifdef CONFIG_BROKEN + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_INFINIPATH_7220) }, ++#endif + { 0, } + }; + +@@ -535,6 +537,7 @@ static int __devinit ipath_init_one(struct pci_dev *pdev, + "CONFIG_PCI_MSI is not enabled\n", ent->device); + return -ENODEV; + #endif ++#ifdef CONFIG_BROKEN + case PCI_DEVICE_ID_INFINIPATH_7220: + #ifndef CONFIG_PCI_MSI + ipath_dbg("CONFIG_PCI_MSI is not enabled, " +@@ -542,6 +545,7 @@ static int __devinit ipath_init_one(struct pci_dev *pdev, + #endif + ipath_init_iba7220_funcs(dd); + break; ++#endif + default: + ipath_dev_err(dd, "Found unknown QLogic deviceid 0x%x, " + "failing\n", ent->device); +-- +1.6.3.3 + diff --git a/patches/debian/dfsg/drivers-media-dvb-dvb-usb-af9005-disable.patch b/patches/debian/dfsg/drivers-media-dvb-dvb-usb-af9005-disable.patch new file mode 100644 index 0000000..4b80ad2 --- /dev/null +++ b/patches/debian/dfsg/drivers-media-dvb-dvb-usb-af9005-disable.patch @@ -0,0 +1,24 @@ +From 2a7d7ecc9fdcdaa0b82865078fd2a47e3b46da1b Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Mon, 17 Aug 2009 02:45:41 +0100 +Subject: [PATCH 1/2] dvb-usb-af9005: mark as broken + +--- + drivers/media/dvb/dvb-usb/Kconfig | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig +index 496c1a3..868e1cb 100644 +--- a/drivers/media/dvb/dvb-usb/Kconfig ++++ b/drivers/media/dvb/dvb-usb/Kconfig +@@ -238,6 +238,7 @@ config DVB_USB_OPERA1 + + config DVB_USB_AF9005 + tristate "Afatech AF9005 DVB-T USB1.1 support" ++ depends on BROKEN + depends on DVB_USB && EXPERIMENTAL + select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE + select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE +-- +1.6.3.3 + diff --git a/patches/debian/dfsg/drivers-net-cxgb3-disable.patch b/patches/debian/dfsg/drivers-net-cxgb3-disable.patch deleted file mode 100644 index 84ee3d5..0000000 --- a/patches/debian/dfsg/drivers-net-cxgb3-disable.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 6eb780fe50039fc81af6aaf8f91a38488a3cdae9 Mon Sep 17 00:00:00 2001 -From: Ben Hutchings <ben@decadent.org.uk> -Date: Thu, 9 Jul 2009 00:20:59 +0100 -Subject: [PATCH 1/3] cxgb3: Add #ifdef markers around firmware and mark broken - ---- - drivers/net/Kconfig | 1 + - drivers/net/cxgb3/ael1002.c | 6 ++++++ - 2 files changed, 7 insertions(+), 0 deletions(-) - -diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig -index c155bd3..183479d 100644 ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -2511,6 +2511,7 @@ config CHELSIO_T3_DEPENDS - - config CHELSIO_T3 - tristate "Chelsio Communications T3 10Gb Ethernet support" -+ depends on BROKEN - depends on CHELSIO_T3_DEPENDS - select FW_LOADER - select MDIO -diff --git a/drivers/net/cxgb3/ael1002.c b/drivers/net/cxgb3/ael1002.c -index 9fe008e..d53cec4 100644 ---- a/drivers/net/cxgb3/ael1002.c -+++ b/drivers/net/cxgb3/ael1002.c -@@ -304,6 +304,7 @@ static int ael2005_setup_sr_edc(struct cphy *phy) - { MDIO_MMD_PMAPMD, 0xc04a, 0xffff, 0x5200 }, - { 0, 0, 0, 0 } - }; -+#ifdef REMOVE_DFSG - static u16 sr_edc[] = { - 0xcc00, 0x2ff4, - 0xcc01, 0x3cd4, -@@ -577,6 +578,7 @@ static int ael2005_setup_sr_edc(struct cphy *phy) - 0xcd0d, 0x1002, - 0xcd0e, 0 - }; -+#endif /* REMOVE_DFSG */ - int i, err; - - err = set_phy_regs(phy, regs); -@@ -604,6 +606,7 @@ static int ael2005_setup_twinax_edc(struct cphy *phy, int modtype) - { MDIO_MMD_PMAPMD, 0xc015, 0xffff, 0xa000 }, - { 0, 0, 0, 0 } - }; -+#ifdef REMOVE_DFSG - static u16 twinax_edc[] = { - 0xcc00, 0x4009, - 0xcc01, 0x27ff, -@@ -972,6 +975,7 @@ static int ael2005_setup_twinax_edc(struct cphy *phy, int modtype) - 0xcd6c, 0x1002, - 0xcd6d, 0 - }; -+#endif /* REMOVE_DFSG */ - int i, err; - - err = set_phy_regs(phy, regs); -@@ -1202,6 +1206,7 @@ static int ael2020_setup_twinax_edc(struct cphy *phy, int modtype) - { 0, 0, 0, 0 } - }; - -+#ifdef REMOVE_DFSG - /* TWINAX EDC firmware */ - static u16 twinax_edc[] = { - 0xd800, 0x4009, -@@ -1600,6 +1605,7 @@ static int ael2020_setup_twinax_edc(struct cphy *phy, int modtype) - 0xd989, 0x1002, - 0xd98a, 0x0000, - }; -+#endif /* REMOVE_DFSG */ - int i, err; - - /* set uC clock and activate it */ --- -1.6.3.3 - diff --git a/patches/debian/dfsg/drivers-staging-me4000-disable.patch b/patches/debian/dfsg/drivers-staging-me4000-disable.patch deleted file mode 100644 index f4c4f20..0000000 --- a/patches/debian/dfsg/drivers-staging-me4000-disable.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/drivers/staging/me4000/Kconfig b/drivers/staging/me4000/Kconfig -index 5e6c9de..45d2ea9 100644 ---- a/drivers/staging/me4000/Kconfig -+++ b/drivers/staging/me4000/Kconfig -@@ -1,6 +1,7 @@ - config ME4000 - tristate "Meilhaus ME-4000 support" - default n -+ depends on BROKEN - depends on PCI - help - This driver supports the Meilhaus ME-4000 family of boards diff --git a/patches/debian/dfsg/drivers-staging-otus-disable.patch b/patches/debian/dfsg/drivers-staging-otus-disable.patch index a4d8058..b7dc8b1 100644 --- a/patches/debian/dfsg/drivers-staging-otus-disable.patch +++ b/patches/debian/dfsg/drivers-staging-otus-disable.patch @@ -1,11 +1,9 @@ -diff --git a/drivers/staging/otus/Kconfig b/drivers/staging/otus/Kconfig -index d549d08..fef9785 100644 --- a/drivers/staging/otus/Kconfig +++ b/drivers/staging/otus/Kconfig @@ -1,5 +1,6 @@ config OTUS tristate "Atheros OTUS 802.11n USB wireless support" + depends on BROKEN - depends on USB && WLAN_80211 && MAC80211 + depends on USB && WLAN && MAC80211 default N ---help--- diff --git a/patches/debian/dfsg/drivers-staging-rt2860-disable.patch b/patches/debian/dfsg/drivers-staging-rt2860-disable.patch index e06d68f..3eecd6e 100644 --- a/patches/debian/dfsg/drivers-staging-rt2860-disable.patch +++ b/patches/debian/dfsg/drivers-staging-rt2860-disable.patch @@ -1,11 +1,12 @@ diff --git a/drivers/staging/rt2860/Kconfig b/drivers/staging/rt2860/Kconfig -index 7f44e5e..9fb130d 100644 +index f9962b6..8d2da65 100644 --- a/drivers/staging/rt2860/Kconfig +++ b/drivers/staging/rt2860/Kconfig -@@ -1,5 +1,6 @@ +@@ -1,6 +1,7 @@ config RT2860 - tristate "Ralink 2860 wireless support" + tristate "Ralink 2860/3090 wireless support" + depends on PCI && X86 && WLAN + depends on BROKEN - depends on PCI && X86 && WLAN_80211 + select WIRELESS_EXT + select WEXT_PRIV ---help--- - This is an experimental driver for the Ralink 2860 wireless chip. diff --git a/patches/debian/dfsg/drivers-staging-rt2870-disable.patch b/patches/debian/dfsg/drivers-staging-rt2870-disable.patch index f8f7610..aa4f685 100644 --- a/patches/debian/dfsg/drivers-staging-rt2870-disable.patch +++ b/patches/debian/dfsg/drivers-staging-rt2870-disable.patch @@ -1,11 +1,12 @@ diff --git a/drivers/staging/rt2870/Kconfig b/drivers/staging/rt2870/Kconfig -index 8398d97..cd4f0b6 100644 +index fd3ba3a..ce46b49 100644 --- a/drivers/staging/rt2870/Kconfig +++ b/drivers/staging/rt2870/Kconfig -@@ -1,5 +1,6 @@ +@@ -1,6 +1,7 @@ config RT2870 - tristate "Ralink 2870 wireless support" + tristate "Ralink 2870/3070 wireless support" + depends on USB && X86 && WLAN + depends on BROKEN - depends on USB && X86 && WLAN_80211 + select WIRELESS_EXT + select WEXT_PRIV ---help--- - This is an experimental driver for the Ralink 2870 wireless chip. diff --git a/patches/debian/dfsg/drivers-staging-rt3070-disable.patch b/patches/debian/dfsg/drivers-staging-rt3070-disable.patch deleted file mode 100644 index da7e1ac..0000000 --- a/patches/debian/dfsg/drivers-staging-rt3070-disable.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/drivers/staging/rt3070/Kconfig b/drivers/staging/rt3070/Kconfig -index b37fb5d..e414305 100644 ---- a/drivers/staging/rt3070/Kconfig -+++ b/drivers/staging/rt3070/Kconfig -@@ -1,5 +1,6 @@ - config RT3070 - tristate "Ralink 3070 wireless support" -+ depends on BROKEN - depends on USB && X86 && WLAN_80211 - ---help--- - This is an experimental driver for the Ralink 3070 wireless chip. diff --git a/patches/debian/dfsg/drivers-staging-rtl8192su-disable.patch b/patches/debian/dfsg/drivers-staging-rtl8192su-disable.patch index 656c83a..e4fd5b0 100644 --- a/patches/debian/dfsg/drivers-staging-rtl8192su-disable.patch +++ b/patches/debian/dfsg/drivers-staging-rtl8192su-disable.patch @@ -1,11 +1,11 @@ diff --git a/drivers/staging/rtl8192su/Kconfig b/drivers/staging/rtl8192su/Kconfig -index 770f412..3b6b088 100644 +index 123fa6d..5e081b1 100644 --- a/drivers/staging/rtl8192su/Kconfig +++ b/drivers/staging/rtl8192su/Kconfig -@@ -1,5 +1,6 @@ - config RTL8192SU +@@ -2,5 +2,6 @@ config RTL8192SU tristate "RealTek RTL8192SU Wireless LAN NIC driver" -+ depends on BROKEN - depends on PCI + depends on PCI && WLAN && USB depends on WIRELESS_EXT ++ depends on BROKEN default N + ---help--- diff --git a/patches/debian/dfsg/drivers-staging-wlags49_h2-disable.patch b/patches/debian/dfsg/drivers-staging-wlags49_h2-disable.patch new file mode 100644 index 0000000..89cbd48 --- /dev/null +++ b/patches/debian/dfsg/drivers-staging-wlags49_h2-disable.patch @@ -0,0 +1,12 @@ +diff --git a/drivers/staging/wlags49_h2/Kconfig b/drivers/staging/wlags49_h2/Kconfig +index 92053fe..b99b1b1 100644 +--- a/drivers/staging/wlags49_h2/Kconfig ++++ b/drivers/staging/wlags49_h2/Kconfig +@@ -1,6 +1,7 @@ + config WLAGS49_H2 + tristate "Agere Systems HERMES II Wireless PC Card Model 0110" + depends on WLAN_80211 && WIRELESS_EXT && PCMCIA ++ depends on BROKEN + select WEXT_SPY + ---help--- + Driver for wireless cards using Agere's HERMES II chipset diff --git a/patches/debian/dfsg/drivers-staging-wlags49_h25-disable.patch b/patches/debian/dfsg/drivers-staging-wlags49_h25-disable.patch new file mode 100644 index 0000000..29fa8cf --- /dev/null +++ b/patches/debian/dfsg/drivers-staging-wlags49_h25-disable.patch @@ -0,0 +1,12 @@ +diff --git a/drivers/staging/wlags49_h25/Kconfig b/drivers/staging/wlags49_h25/Kconfig +index 304a8c9..24365a8 100644 +--- a/drivers/staging/wlags49_h25/Kconfig ++++ b/drivers/staging/wlags49_h25/Kconfig +@@ -1,6 +1,7 @@ + config WLAGS49_H25 + tristate "Linksys HERMES II.5 WCF54G_Wireless-G_CompactFlash_Card" + depends on WLAN_80211 && WIRELESS_EXT && PCMCIA ++ depends on BROKEN + select WEXT_SPY + ---help--- + Driver for wireless cards using Agere's HERMES II.5 chipset diff --git a/patches/debian/dfsg/files-1 b/patches/debian/dfsg/files-1 index c6867fd..c96713c 100644 --- a/patches/debian/dfsg/files-1 +++ b/patches/debian/dfsg/files-1 @@ -18,9 +18,12 @@ rm firmware/ess rm firmware/kaweth rm firmware/keyspan rm firmware/korg +rm firmware/matrox rm firmware/myricom rm firmware/ositech rm firmware/qlogic +rm firmware/r128 +rm firmware/radeon rm firmware/sb16 rm firmware/sun rm firmware/tehuti @@ -32,34 +35,37 @@ rm firmware/yamaha rm arch/powerpc/sysdev/micropatch.c -rm drivers/gpu/drm/mga/mga_ucode.h +rm drivers/media/dvb/dvb-usb/af9005-script.h -unifdef drivers/gpu/drm/r128/r128_cce.c -UREMOVE_DFSG +unifdef drivers/media/dvb/frontends/lgs8gxx.c -UREMOVE_DFSG -rm drivers/gpu/drm/radeon/*_microcode.h +rm drivers/infiniband/hw/ipath/ipath_sd7220_img.c rm drivers/net/appletalk/cops.c rm drivers/net/appletalk/cops.h rm drivers/net/appletalk/cops_ffdrv.h rm drivers/net/appletalk/cops_ltdrv.h -unifdef drivers/net/cxgb3/ael1002.c -UREMOVE_DFSG - -rm drivers/staging/me4000/me*_firmware.h +unifdef drivers/net/r8169.c -UREMOVE_DFSG rm drivers/staging/otus/hal/hp*fw*.c* -rm drivers/staging/rt2860/common/firmware.h - -rm drivers/staging/rt2870/common/firmware.h +rm drivers/staging/rt2860/common/firmware*.h rm drivers/staging/rt3070/firmware.h -rm drivers/staging/rtl8192su/r8192S_FwImgDTM.h +rm drivers/staging/rt3090/firmware.h + +rm drivers/staging/rtl8192su/r8192SU_HWImg.c -rm drivers/staging/slicoss/*ucode.h +rm drivers/staging/rtl8192u/r819xU_firmware_img.c rm drivers/staging/sxg/sxgphycode-1.2.h +rm drivers/staging/vt6656/firmware.c + +rm drivers/staging/wlags49_h2/ap_*.c +rm drivers/staging/wlags49_h2/sta_*.c + rm sound/pci/cs46xx/cs46xx_image.h rm sound/pci/cs46xx/imgs diff --git a/patches/debian/dfsg/firmware-cleanup.patch b/patches/debian/dfsg/firmware-cleanup.patch index 6418e06..8a44a99 100644 --- a/patches/debian/dfsg/firmware-cleanup.patch +++ b/patches/debian/dfsg/firmware-cleanup.patch @@ -1,8 +1,8 @@ diff --git a/firmware/Makefile b/firmware/Makefile -index 25200d1..c3a4fa8 100644 +index 1c00d05..3bf888d 100644 --- a/firmware/Makefile +++ b/firmware/Makefile -@@ -20,96 +20,11 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) +@@ -20,53 +20,8 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) # accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). # But be aware that the config file might not be included at all. @@ -18,24 +18,48 @@ index 25200d1..c3a4fa8 100644 - adaptec/starfire_tx.bin fw-shipped-$(CONFIG_ATARI_DSP56K) += dsp56k/bootstrap.bin -fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw --fw-shipped-$(CONFIG_BNX2X) += bnx2x-e1-4.8.53.0.fw bnx2x-e1h-4.8.53.0.fw --fw-shipped-$(CONFIG_BNX2) += bnx2/bnx2-mips-09-4.6.17.fw \ -- bnx2/bnx2-rv2p-09-4.6.15.fw \ -- bnx2/bnx2-mips-06-4.6.16.fw \ -- bnx2/bnx2-rv2p-06-4.6.16.fw +-fw-shipped-$(CONFIG_BNX2X) += bnx2x-e1-5.2.7.0.fw bnx2x-e1h-5.2.7.0.fw +-fw-shipped-$(CONFIG_BNX2) += bnx2/bnx2-mips-09-5.0.0.j3.fw \ +- bnx2/bnx2-rv2p-09-5.0.0.j3.fw \ +- bnx2/bnx2-rv2p-09ax-5.0.0.j3.fw \ +- bnx2/bnx2-mips-06-5.0.0.j3.fw \ +- bnx2/bnx2-rv2p-06-5.0.0.j3.fw -fw-shipped-$(CONFIG_CASSINI) += sun/cassini.bin -fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin -fw-shipped-$(CONFIG_CHELSIO_T3) += cxgb3/t3b_psram-1.1.0.bin \ - cxgb3/t3c_psram-1.1.0.bin \ -- cxgb3/t3fw-7.4.0.bin +- cxgb3/t3fw-7.4.0.bin \ +- cxgb3/ael2005_opt_edc.bin \ +- cxgb3/ael2005_twx_edc.bin \ +- cxgb3/ael2020_twx_edc.bin +-fw-shipped-$(CONFIG_DRM_MGA) += matrox/g200_warp.fw matrox/g400_warp.fw +-fw-shipped-$(CONFIG_DRM_R128) += r128/r128_cce.bin +-fw-shipped-$(CONFIG_DRM_RADEON) += radeon/R100_cp.bin radeon/R200_cp.bin \ +- radeon/R300_cp.bin radeon/R420_cp.bin \ +- radeon/RS690_cp.bin radeon/RS600_cp.bin \ +- radeon/R520_cp.bin \ +- radeon/R600_pfp.bin radeon/R600_me.bin \ +- radeon/RV610_pfp.bin radeon/RV610_me.bin \ +- radeon/RV630_pfp.bin radeon/RV630_me.bin \ +- radeon/RV620_pfp.bin radeon/RV620_me.bin \ +- radeon/RV635_pfp.bin radeon/RV635_me.bin \ +- radeon/RV670_pfp.bin radeon/RV670_me.bin \ +- radeon/RS780_pfp.bin radeon/RS780_me.bin \ +- radeon/RV770_pfp.bin radeon/RV770_me.bin \ +- radeon/RV730_pfp.bin radeon/RV730_me.bin \ +- radeon/RV710_pfp.bin radeon/RV710_me.bin fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin -fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin -fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \ - e100/d102e_ucode.bin -fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin - fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis --fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis --fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis + fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \ + cis/DP83903.cis cis/NE2K.cis \ + cis/tamarack.cis cis/PE-200.cis \ +@@ -77,66 +32,8 @@ fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \ + cis/COMpad2.cis cis/COMpad4.cis \ + cis/SW_555_SER.cis cis/SW_7xx_SER.cis \ + cis/SW_8xx_SER.cis -fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin -fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \ - advansys/3550.bin advansys/38C0800.bin diff --git a/patches/debian/dfsg/lgs8gxx-lgs8g75-disable.patch b/patches/debian/dfsg/lgs8gxx-lgs8g75-disable.patch new file mode 100644 index 0000000..639dcd6 --- /dev/null +++ b/patches/debian/dfsg/lgs8gxx-lgs8g75-disable.patch @@ -0,0 +1,63 @@ +From 15e2cca5411a60ec9d936b36be1bac937f1bfeaa Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Tue, 3 Nov 2009 23:50:20 +0000 +Subject: [PATCH 18/24] lgs8gxx: mark lgs8g75 as broken and mark firmware for removal + +--- + drivers/media/dvb/frontends/lgs8gxx.c | 11 +++++++++++ + 1 files changed, 11 insertions(+), 0 deletions(-) + +diff --git a/drivers/media/dvb/frontends/lgs8gxx.c b/drivers/media/dvb/frontends/lgs8gxx.c +index eabcadc..a7446fd 100644 +--- a/drivers/media/dvb/frontends/lgs8gxx.c ++++ b/drivers/media/dvb/frontends/lgs8gxx.c +@@ -46,6 +46,7 @@ module_param(fake_signal_str, int, 0644); + MODULE_PARM_DESC(fake_signal_str, "fake signal strength for LGS8913." + "Signal strength calculation is slow.(default:on)."); + ++#ifdef REMOVE_DFSG + static const u8 lgs8g75_initdat[] = { + 0x01, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +@@ -81,6 +82,7 @@ static const u8 lgs8g75_initdat[] = { + 0x65, 0xE0, 0x54, 0xFD, 0xF0, 0x22, 0x90, 0x80, + 0x65, 0xE0, 0x44, 0xC2, 0xF0, 0x22 + }; ++#endif + + /* LGS8GXX internal helper functions */ + +@@ -625,6 +627,7 @@ static int lgs8913_init(struct lgs8gxx_state *priv) + return 0; + } + ++#ifdef CONFIG_BROKEN + static int lgs8g75_init_data(struct lgs8gxx_state *priv) + { + const u8 *p = lgs8g75_initdat; +@@ -652,6 +655,7 @@ static int lgs8g75_init_data(struct lgs8gxx_state *priv) + + return 0; + } ++#endif + + static int lgs8gxx_init(struct dvb_frontend *fe) + { +@@ -1089,7 +1093,14 @@ struct dvb_frontend *lgs8gxx_attach(const struct lgs8gxx_config *config, + priv->frontend.demodulator_priv = priv; + + if (config->prod == LGS8GXX_PROD_LGS8G75) ++#ifdef CONFIG_BROKEN + lgs8g75_init_data(priv); ++#else ++ { ++ dprintk("lgs8g75 firmware not available\n"); ++ goto error_out; ++ } ++#endif + + return &priv->frontend; + +-- +1.6.5.2 + diff --git a/patches/debian/dfsg/r8169-rtl8168d-1-2-disable.patch b/patches/debian/dfsg/r8169-rtl8168d-1-2-disable.patch new file mode 100644 index 0000000..db38563 --- /dev/null +++ b/patches/debian/dfsg/r8169-rtl8168d-1-2-disable.patch @@ -0,0 +1,68 @@ +From 8ee9e3b6b1f41934a67567aaefae986ff517587e Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Tue, 3 Nov 2009 23:58:25 +0000 +Subject: [PATCH 21/24] r8169: mark firmware for removal and mark code using it as broken + +--- + drivers/net/r8169.c | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c +index fa49356..3495ff6 100644 +--- a/drivers/net/r8169.c ++++ b/drivers/net/r8169.c +@@ -1719,6 +1719,7 @@ static void rtl8168d_1_hw_phy_config(void __iomem *ioaddr) + { 0x05, 0x8332 }, + { 0x06, 0x5561 } + }; ++#ifdef REMOVE_DFSG + static const struct phy_reg phy_reg_init_2[] = { + { 0x1f, 0x0005 }, + { 0x05, 0xffc2 }, +@@ -2074,6 +2075,7 @@ static void rtl8168d_1_hw_phy_config(void __iomem *ioaddr) + { 0x0d, 0xf880 }, + { 0x1f, 0x0000 } + }; ++#endif + + rtl_phy_write(ioaddr, phy_reg_init_0, ARRAY_SIZE(phy_reg_init_0)); + +@@ -2131,7 +2133,9 @@ static void rtl8168d_1_hw_phy_config(void __iomem *ioaddr) + mdio_plus_minus(ioaddr, 0x02, 0x0100, 0x0600); + mdio_plus_minus(ioaddr, 0x03, 0x0000, 0xe000); + ++#ifdef CONFIG_BROKEN + rtl_phy_write(ioaddr, phy_reg_init_2, ARRAY_SIZE(phy_reg_init_2)); ++#endif + } + + static void rtl8168d_2_hw_phy_config(void __iomem *ioaddr) +@@ -2161,6 +2165,7 @@ static void rtl8168d_2_hw_phy_config(void __iomem *ioaddr) + { 0x05, 0x8332 }, + { 0x06, 0x5561 } + }; ++#ifdef REMOVE_DFSG + static const struct phy_reg phy_reg_init_1[] = { + { 0x1f, 0x0005 }, + { 0x05, 0xffc2 }, +@@ -2473,6 +2478,7 @@ static void rtl8168d_2_hw_phy_config(void __iomem *ioaddr) + { 0x0d, 0xf880 }, + { 0x1f, 0x0000 } + }; ++#endif + + rtl_phy_write(ioaddr, phy_reg_init_0, ARRAY_SIZE(phy_reg_init_0)); + +@@ -2526,7 +2532,9 @@ static void rtl8168d_2_hw_phy_config(void __iomem *ioaddr) + mdio_write(ioaddr, 0x1f, 0x0002); + mdio_patch(ioaddr, 0x0f, 0x0017); + ++#ifdef CONFIG_BROKEN + rtl_phy_write(ioaddr, phy_reg_init_1, ARRAY_SIZE(phy_reg_init_1)); ++#endif + } + + static void rtl8168d_3_hw_phy_config(void __iomem *ioaddr) +-- +1.6.5.2 + diff --git a/patches/debian/dfsg/radeon-add-clarifying-comment-to-r600-blit.patch b/patches/debian/dfsg/radeon-add-clarifying-comment-to-r600-blit.patch new file mode 100644 index 0000000..6d77267 --- /dev/null +++ b/patches/debian/dfsg/radeon-add-clarifying-comment-to-r600-blit.patch @@ -0,0 +1,42 @@ +From ef75f31784181c33ee7d42e361ad8d04947a2153 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexdeucher@gmail.com> +Date: Mon, 2 Nov 2009 19:51:42 -0500 +Subject: [PATCH] drm/radeon/r600: add clarifying comment to r600 blit code + +R6xx+ cards need to use the 3D engine to blit data which requires +quite a bit of hw state setup. Rather than pull the whole 3D driver +(which normally generates the 3D state) into the DRM, we opt to use +statically generated state tables. The regsiter state and shaders +were hand generated to support blitting functionality. See the 3D +driver or documentation for descriptions of the registers and +shader instructions. + +Signed-off-by: Alex Deucher <alexdeucher@gmail.com> +--- + drivers/gpu/drm/radeon/r600_blit_shaders.c | 10 ++++++++++ + 1 files changed, 10 insertions(+), 0 deletions(-) + +diff --git a/drivers/gpu/drm/radeon/r600_blit_shaders.c b/drivers/gpu/drm/radeon/r600_blit_shaders.c +index d745e81..5d479cf 100644 +--- a/drivers/gpu/drm/radeon/r600_blit_shaders.c ++++ b/drivers/gpu/drm/radeon/r600_blit_shaders.c +@@ -2,6 +2,16 @@ + #include <linux/types.h> + #include <linux/kernel.h> + ++/* ++ * R6xx+ cards need to use the 3D engine to blit data which requires ++ * quite a bit of hw state setup. Rather than pull the whole 3D driver ++ * (which normally generates the 3D state) into the DRM, we opt to use ++ * statically generated state tables. The regsiter state and shaders ++ * were hand generated to support blitting functionality. See the 3D ++ * driver or documentation for descriptions of the registers and ++ * shader instructions. ++ */ ++ + const u32 r6xx_default_state[] = + { + 0xc0002400, +-- +1.5.6.3 + diff --git a/patches/debian/scripts-kconfig-reportoldconfig.patch b/patches/debian/scripts-kconfig-reportoldconfig.patch index 53179dc..89185f8 100644 --- a/patches/debian/scripts-kconfig-reportoldconfig.patch +++ b/patches/debian/scripts-kconfig-reportoldconfig.patch @@ -1,17 +1,17 @@ diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile -index fa8c2dd..7936c57 100644 +index 999e8a7..3b5d4ba 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile -@@ -2,7 +2,7 @@ - # Kernel configuration targets +@@ -3,7 +3,7 @@ # These targets are used from top-level makefile --PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config -+PHONY += oldconfig xconfig gconfig menuconfig config reportoldconfig silentoldconfig updateoldconfig update-po-config + PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config \ +- localmodconfig localyesconfig ++ localmodconfig localyesconfig reportoldconfig updateoldconfig ifdef KBUILD_KCONFIG Kconfig := $(KBUILD_KCONFIG) -@@ -25,9 +25,15 @@ config: $(obj)/conf +@@ -26,10 +26,16 @@ config: $(obj)/conf oldconfig: $(obj)/conf $< -o $(Kconfig) @@ -19,14 +19,15 @@ index fa8c2dd..7936c57 100644 + $< -R $(Kconfig) + silentoldconfig: $(obj)/conf + $(Q)mkdir -p include/generated $< -s $(Kconfig) +updateoldconfig: $(obj)/conf + $< -U $(Kconfig) + - # Create new linux.pot file - # Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files - # The symlink is used to repair a deficiency in arch/um + localmodconfig: $(obj)/streamline_config.pl $(obj)/conf + $(Q)perl $< $(srctree) $(Kconfig) > .tmp.config + $(Q)if [ -f .config ]; then \ diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c index 3e1057f..e526d00 100644 --- a/scripts/kconfig/conf.c diff --git a/patches/debian/sysrq-mask.patch b/patches/debian/sysrq-mask.patch new file mode 100644 index 0000000..6afc779 --- /dev/null +++ b/patches/debian/sysrq-mask.patch @@ -0,0 +1,32 @@ +diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c +index 44203ff..964bab1 100644 +--- a/drivers/char/sysrq.c ++++ b/drivers/char/sysrq.c +@@ -43,7 +43,7 @@ + #include <asm/irq_regs.h> + + /* Whether we react on sysrq keys or just ignore them */ +-int __read_mostly __sysrq_enabled = 1; ++int __read_mostly __sysrq_enabled = CONFIG_MAGIC_SYSRQ_DEFAULT_MASK; + + static int __read_mostly sysrq_always_enabled; + +diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug +index 234ceb1..415a834 100644 +--- a/lib/Kconfig.debug ++++ b/lib/Kconfig.debug +@@ -50,6 +50,14 @@ config MAGIC_SYSRQ + keys are documented in <file:Documentation/sysrq.txt>. Don't say Y + unless you really know what this hack does. + ++config MAGIC_SYSRQ_DEFAULT_MASK ++ hex "Default mask for Magic SysRq keys on the console" ++ depends on MAGIC_SYSRQ ++ default 1 ++ help ++ Specifies the default mask for the allowed SysRq keys. This can be ++ used to disable several sensitive keys by default. ++ + config STRIP_ASM_SYMS + bool "Strip assembler-generated symbols during link" + default n diff --git a/patches/debian/version.patch b/patches/debian/version.patch index 977cd83..2037982 100644 --- a/patches/debian/version.patch +++ b/patches/debian/version.patch @@ -41,7 +41,7 @@ diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h index 82d0af4..d8e0d05 100755 --- a/scripts/mkcompile_h +++ b/scripts/mkcompile_h -@@ -47,15 +47,35 @@ UTS_TRUNCATE="sed -e s/\(.\{1,$UTS_LEN\}\).*/\1/" +@@ -47,19 +47,34 @@ UTS_TRUNCATE="sed -e s/\(.\{1,$UTS_LEN\}\).*/\1/" echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\" echo \#define LINUX_COMPILE_TIME \"`date +%T`\" @@ -49,10 +49,15 @@ index 82d0af4..d8e0d05 100755 - echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\" - if [ -x /bin/dnsdomainname ]; then -- echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\" +- domain=`dnsdomainname 2> /dev/null` - elif [ -x /bin/domainname ]; then -- echo \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\" +- domain=`domainname 2> /dev/null` +- fi +- +- if [ -n "$domain" ]; then +- echo \#define LINUX_COMPILE_DOMAIN \"`echo $domain | $UTS_TRUNCATE`\" - else +- echo \#define LINUX_COMPILE_DOMAIN + DISTRIBUTION=$(lsb_release -is 2>/dev/null) + DISTRIBUTION=${DISTRIBUTION:-Debian} + echo \#define LINUX_COMPILE_DISTRIBUTION \"$DISTRIBUTION\" @@ -63,7 +68,6 @@ index 82d0af4..d8e0d05 100755 + echo \#define LINUX_COMPILE_DISTRIBUTION_VERSION \"$DISTRIBUTION_VERSION\" + echo \#define LINUX_COMPILE_BY \"unknown\" + echo \#define LINUX_COMPILE_HOST \"$DISTRIBUTION\" - echo \#define LINUX_COMPILE_DOMAIN + else + if [ -e version.$DISTRIBUTION ]; then + echo \#define LINUX_COMPILE_DISTRIBUTION_VERSION \"$(cut -d" " -f1 version.$DISTRIBUTION)\" @@ -83,4 +87,4 @@ index 82d0af4..d8e0d05 100755 + fi fi - echo \#define LINUX_COMPILER \"`LC_ALL=C LANG=C $CC -v 2>&1 | tail -n 1`\" + echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\" diff --git a/patches/features/all/drivers-gpu-drm-mga-request_firmware.patch b/patches/features/all/drivers-gpu-drm-mga-request_firmware.patch deleted file mode 100644 index 88f57d4..0000000 --- a/patches/features/all/drivers-gpu-drm-mga-request_firmware.patch +++ /dev/null @@ -1,277 +0,0 @@ -From: Ben Hutchings <ben@decadent.org.uk> -Subject: mga: Use request_firmware() to load microcode - -Image format is IHEX, one record for each pipe in order (record -addresses are ignored). - -Compile-tested only. ---- - drivers/gpu/drm/Kconfig | 2 +- - drivers/gpu/drm/mga/mga_dma.c | 4 +- - drivers/gpu/drm/mga/mga_drv.h | 1 - - drivers/gpu/drm/mga/mga_warp.c | 180 +++++++++++++++++----------------------- - include/drm/mga_drm.h | 2 +- - 5 files changed, 82 insertions(+), 107 deletions(-) - -diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig -index 853814c..a61d10a 100644 ---- a/drivers/gpu/drm/Kconfig -+++ b/drivers/gpu/drm/Kconfig -@@ -81,7 +81,7 @@ endchoice - config DRM_MGA - tristate "Matrox g200/g400" - depends on DRM -- depends on BROKEN -+ select FW_LOADER - help - Choose this option if you have a Matrox G200, G400 or G450 graphics - card. If M is selected, the module will be called mga. AGP -diff --git a/drivers/gpu/drm/mga/mga_dma.c b/drivers/gpu/drm/mga/mga_dma.c -index b49c5ff..7e0b106 100644 ---- a/drivers/gpu/drm/mga/mga_dma.c -+++ b/drivers/gpu/drm/mga/mga_dma.c -@@ -447,7 +447,7 @@ static int mga_do_agp_dma_bootstrap(struct drm_device * dev, - { - drm_mga_private_t *const dev_priv = - (drm_mga_private_t *) dev->dev_private; -- unsigned int warp_size = mga_warp_microcode_size(dev_priv); -+ unsigned int warp_size = MGA_WARP_UCODE_SIZE; - int err; - unsigned offset; - const unsigned secondary_size = dma_bs->secondary_bin_count -@@ -622,7 +622,7 @@ static int mga_do_pci_dma_bootstrap(struct drm_device * dev, - { - drm_mga_private_t *const dev_priv = - (drm_mga_private_t *) dev->dev_private; -- unsigned int warp_size = mga_warp_microcode_size(dev_priv); -+ unsigned int warp_size = MGA_WARP_UCODE_SIZE; - unsigned int primary_size; - unsigned int bin_count; - int err; -diff --git a/drivers/gpu/drm/mga/mga_drv.h b/drivers/gpu/drm/mga/mga_drv.h -index 88257c2..9e40226 100644 ---- a/drivers/gpu/drm/mga/mga_drv.h -+++ b/drivers/gpu/drm/mga/mga_drv.h -@@ -177,7 +177,6 @@ extern void mga_do_dma_wrap_end(drm_mga_private_t * dev_priv); - extern int mga_freelist_put(struct drm_device * dev, struct drm_buf * buf); - - /* mga_warp.c */ --extern unsigned int mga_warp_microcode_size(const drm_mga_private_t * dev_priv); - extern int mga_warp_install_microcode(drm_mga_private_t * dev_priv); - extern int mga_warp_init(drm_mga_private_t * dev_priv); - -diff --git a/drivers/gpu/drm/mga/mga_warp.c b/drivers/gpu/drm/mga/mga_warp.c -index 651b93c..9aad484 100644 ---- a/drivers/gpu/drm/mga/mga_warp.c -+++ b/drivers/gpu/drm/mga/mga_warp.c -@@ -27,132 +27,108 @@ - * Gareth Hughes <gareth@valinux.com> - */ - -+#include <linux/firmware.h> -+#include <linux/ihex.h> -+#include <linux/platform_device.h> -+ - #include "drmP.h" - #include "drm.h" - #include "mga_drm.h" - #include "mga_drv.h" --#include "mga_ucode.h" -+ -+#define FIRMWARE_G200 "matrox/g200_warp.fw" -+#define FIRMWARE_G400 "matrox/g400_warp.fw" -+ -+MODULE_FIRMWARE(FIRMWARE_G200); -+MODULE_FIRMWARE(FIRMWARE_G400); - - #define MGA_WARP_CODE_ALIGN 256 /* in bytes */ - --#define WARP_UCODE_SIZE( which ) \ -- ((sizeof(which) / MGA_WARP_CODE_ALIGN + 1) * MGA_WARP_CODE_ALIGN) -- --#define WARP_UCODE_INSTALL( which, where ) \ --do { \ -- DRM_DEBUG( " pcbase = 0x%08lx vcbase = %p\n", pcbase, vcbase );\ -- dev_priv->warp_pipe_phys[where] = pcbase; \ -- memcpy( vcbase, which, sizeof(which) ); \ -- pcbase += WARP_UCODE_SIZE( which ); \ -- vcbase += WARP_UCODE_SIZE( which ); \ --} while (0) -- --static const unsigned int mga_warp_g400_microcode_size = -- (WARP_UCODE_SIZE(warp_g400_tgz) + -- WARP_UCODE_SIZE(warp_g400_tgza) + -- WARP_UCODE_SIZE(warp_g400_tgzaf) + -- WARP_UCODE_SIZE(warp_g400_tgzf) + -- WARP_UCODE_SIZE(warp_g400_tgzs) + -- WARP_UCODE_SIZE(warp_g400_tgzsa) + -- WARP_UCODE_SIZE(warp_g400_tgzsaf) + -- WARP_UCODE_SIZE(warp_g400_tgzsf) + -- WARP_UCODE_SIZE(warp_g400_t2gz) + -- WARP_UCODE_SIZE(warp_g400_t2gza) + -- WARP_UCODE_SIZE(warp_g400_t2gzaf) + -- WARP_UCODE_SIZE(warp_g400_t2gzf) + -- WARP_UCODE_SIZE(warp_g400_t2gzs) + -- WARP_UCODE_SIZE(warp_g400_t2gzsa) + -- WARP_UCODE_SIZE(warp_g400_t2gzsaf) + WARP_UCODE_SIZE(warp_g400_t2gzsf)); -- --static const unsigned int mga_warp_g200_microcode_size = -- (WARP_UCODE_SIZE(warp_g200_tgz) + -- WARP_UCODE_SIZE(warp_g200_tgza) + -- WARP_UCODE_SIZE(warp_g200_tgzaf) + -- WARP_UCODE_SIZE(warp_g200_tgzf) + -- WARP_UCODE_SIZE(warp_g200_tgzs) + -- WARP_UCODE_SIZE(warp_g200_tgzsa) + -- WARP_UCODE_SIZE(warp_g200_tgzsaf) + WARP_UCODE_SIZE(warp_g200_tgzsf)); -- --unsigned int mga_warp_microcode_size(const drm_mga_private_t * dev_priv) -+#define WARP_UCODE_SIZE(size) ALIGN(size, MGA_WARP_CODE_ALIGN) -+ -+int mga_warp_install_microcode(drm_mga_private_t * dev_priv) - { -+ unsigned char *vcbase = dev_priv->warp->handle; -+ unsigned long pcbase = dev_priv->warp->offset; -+ const char *firmware_name; -+ struct platform_device *pdev; -+ const struct firmware *fw = NULL; -+ const struct ihex_binrec *rec; -+ unsigned int size; -+ int n_pipes, where; -+ int rc = 0; -+ - switch (dev_priv->chipset) { - case MGA_CARD_TYPE_G400: - case MGA_CARD_TYPE_G550: -- return PAGE_ALIGN(mga_warp_g400_microcode_size); -+ firmware_name = FIRMWARE_G400; -+ n_pipes = MGA_MAX_G400_PIPES; -+ break; - case MGA_CARD_TYPE_G200: -- return PAGE_ALIGN(mga_warp_g200_microcode_size); -+ firmware_name = FIRMWARE_G200; -+ n_pipes = MGA_MAX_G200_PIPES; -+ break; - default: -- return 0; -+ return -EINVAL; - } --} -- --static int mga_warp_install_g400_microcode(drm_mga_private_t * dev_priv) --{ -- unsigned char *vcbase = dev_priv->warp->handle; -- unsigned long pcbase = dev_priv->warp->offset; -- -- memset(dev_priv->warp_pipe_phys, 0, sizeof(dev_priv->warp_pipe_phys)); -- -- WARP_UCODE_INSTALL(warp_g400_tgz, MGA_WARP_TGZ); -- WARP_UCODE_INSTALL(warp_g400_tgzf, MGA_WARP_TGZF); -- WARP_UCODE_INSTALL(warp_g400_tgza, MGA_WARP_TGZA); -- WARP_UCODE_INSTALL(warp_g400_tgzaf, MGA_WARP_TGZAF); -- WARP_UCODE_INSTALL(warp_g400_tgzs, MGA_WARP_TGZS); -- WARP_UCODE_INSTALL(warp_g400_tgzsf, MGA_WARP_TGZSF); -- WARP_UCODE_INSTALL(warp_g400_tgzsa, MGA_WARP_TGZSA); -- WARP_UCODE_INSTALL(warp_g400_tgzsaf, MGA_WARP_TGZSAF); -- -- WARP_UCODE_INSTALL(warp_g400_t2gz, MGA_WARP_T2GZ); -- WARP_UCODE_INSTALL(warp_g400_t2gzf, MGA_WARP_T2GZF); -- WARP_UCODE_INSTALL(warp_g400_t2gza, MGA_WARP_T2GZA); -- WARP_UCODE_INSTALL(warp_g400_t2gzaf, MGA_WARP_T2GZAF); -- WARP_UCODE_INSTALL(warp_g400_t2gzs, MGA_WARP_T2GZS); -- WARP_UCODE_INSTALL(warp_g400_t2gzsf, MGA_WARP_T2GZSF); -- WARP_UCODE_INSTALL(warp_g400_t2gzsa, MGA_WARP_T2GZSA); -- WARP_UCODE_INSTALL(warp_g400_t2gzsaf, MGA_WARP_T2GZSAF); -- -- return 0; --} -- --static int mga_warp_install_g200_microcode(drm_mga_private_t * dev_priv) --{ -- unsigned char *vcbase = dev_priv->warp->handle; -- unsigned long pcbase = dev_priv->warp->offset; -- -- memset(dev_priv->warp_pipe_phys, 0, sizeof(dev_priv->warp_pipe_phys)); -- -- WARP_UCODE_INSTALL(warp_g200_tgz, MGA_WARP_TGZ); -- WARP_UCODE_INSTALL(warp_g200_tgzf, MGA_WARP_TGZF); -- WARP_UCODE_INSTALL(warp_g200_tgza, MGA_WARP_TGZA); -- WARP_UCODE_INSTALL(warp_g200_tgzaf, MGA_WARP_TGZAF); -- WARP_UCODE_INSTALL(warp_g200_tgzs, MGA_WARP_TGZS); -- WARP_UCODE_INSTALL(warp_g200_tgzsf, MGA_WARP_TGZSF); -- WARP_UCODE_INSTALL(warp_g200_tgzsa, MGA_WARP_TGZSA); -- WARP_UCODE_INSTALL(warp_g200_tgzsaf, MGA_WARP_TGZSAF); - -- return 0; --} -+ pdev = platform_device_register_simple("mga_warp", 0, NULL, 0); -+ if (IS_ERR(pdev)) { -+ DRM_ERROR("mga: Failed to register microcode\n"); -+ return PTR_ERR(pdev); -+ } -+ rc = request_ihex_firmware(&fw, firmware_name, &pdev->dev); -+ platform_device_unregister(pdev); -+ if (rc) { -+ DRM_ERROR("mga: Failed to load microcode \"%s\"\n", -+ firmware_name); -+ return rc; -+ } - --int mga_warp_install_microcode(drm_mga_private_t * dev_priv) --{ -- const unsigned int size = mga_warp_microcode_size(dev_priv); -+ size = 0; -+ where = 0; -+ for (rec = (const struct ihex_binrec *)fw->data; -+ rec; -+ rec = ihex_next_binrec(rec)) { -+ size += WARP_UCODE_SIZE(be16_to_cpu(rec->len)); -+ where++; -+ } - -+ if (where != n_pipes) { -+ DRM_ERROR("mga: Invalid microcode \"%s\"\n", firmware_name); -+ rc = -EINVAL; -+ goto out; -+ } -+ size = PAGE_ALIGN(size); - DRM_DEBUG("MGA ucode size = %d bytes\n", size); - if (size > dev_priv->warp->size) { - DRM_ERROR("microcode too large! (%u > %lu)\n", - size, dev_priv->warp->size); -- return -ENOMEM; -+ rc = -ENOMEM; -+ goto out; - } - -- switch (dev_priv->chipset) { -- case MGA_CARD_TYPE_G400: -- case MGA_CARD_TYPE_G550: -- return mga_warp_install_g400_microcode(dev_priv); -- case MGA_CARD_TYPE_G200: -- return mga_warp_install_g200_microcode(dev_priv); -- default: -- return -EINVAL; -+ memset(dev_priv->warp_pipe_phys, 0, sizeof(dev_priv->warp_pipe_phys)); -+ -+ where = 0; -+ for (rec = (const struct ihex_binrec *)fw->data; -+ rec; -+ rec = ihex_next_binrec(rec)) { -+ unsigned int src_size, dst_size; -+ -+ DRM_DEBUG(" pcbase = 0x%08lx vcbase = %p\n", pcbase, vcbase); -+ dev_priv->warp_pipe_phys[where] = pcbase; -+ src_size = be16_to_cpu(rec->len); -+ dst_size = WARP_UCODE_SIZE(src_size); -+ memcpy(vcbase, rec->data, src_size); -+ pcbase += dst_size; -+ vcbase += dst_size; -+ where++; - } -+ -+out: -+ release_firmware(fw); -+ return rc; - } - - #define WMISC_EXPECTED (MGA_WUCODECACHE_ENABLE | MGA_WMASTER_ENABLE) diff --git a/patches/features/all/drivers-gpu-drm-r128-request_firmware.patch b/patches/features/all/drivers-gpu-drm-r128-request_firmware.patch deleted file mode 100644 index 00f0d79..0000000 --- a/patches/features/all/drivers-gpu-drm-r128-request_firmware.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 870bed4eea53fbaeb8f585fb9b89d23d9d8c2436 Mon Sep 17 00:00:00 2001 -From: Ben Hutchings <ben@decadent.org.uk> -Date: Sat, 18 Oct 2008 02:27:57 +0100 -Subject: [PATCH 03/24] r128: Use request_firmware() to load CCE microcode - -Firmware blob looks like this: - __be32 datah - __be32 datal - -Compile-tested only. ---- - drivers/gpu/drm/Kconfig | 2 +- - drivers/gpu/drm/r128/r128_cce.c | 54 ++++++++++++++++++++++++++++++++++---- - 2 files changed, 49 insertions(+), 7 deletions(-) - -diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig -index 725f244..e6f4401 100644 ---- a/drivers/gpu/drm/Kconfig -+++ b/drivers/gpu/drm/Kconfig -@@ -26,7 +26,7 @@ config DRM_TDFX - config DRM_R128 - tristate "ATI Rage 128" - depends on DRM && PCI -- depends on BROKEN -+ select FW_LOADER - help - Choose this option if you have an ATI Rage 128 graphics card. If M - is selected, the module will be called r128. AGP support for -diff --git a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c -index a9ee89a..63bed21 100644 ---- a/drivers/gpu/drm/r128/r128_cce.c -+++ b/drivers/gpu/drm/r128/r128_cce.c -@@ -29,6 +29,9 @@ - * Gareth Hughes <gareth@valinux.com> - */ - -+#include <linux/firmware.h> -+#include <linux/platform_device.h> -+ - #include "drmP.h" - #include "drm.h" - #include "r128_drm.h" -@@ -36,6 +39,9 @@ - - #define R128_FIFO_DEBUG 0 - -+#define FIRMWARE_NAME "r128/r128_cce.bin" -+ -+MODULE_FIRMWARE(FIRMWARE_NAME); - - static int R128_READ_PLL(struct drm_device * dev, int addr) - { -@@ -132,20 +138,50 @@ static int r128_do_wait_for_idle(drm_r128_private_t * dev_priv) - */ - - /* Load the microcode for the CCE */ --static void r128_cce_load_microcode(drm_r128_private_t * dev_priv) -+static int r128_cce_load_microcode(drm_r128_private_t *dev_priv) - { -- int i; -+ struct platform_device *pdev; -+ const struct firmware *fw; -+ const __be32 *fw_data; -+ int rc, i; - - DRM_DEBUG("\n"); - -+ pdev = platform_device_register_simple("r128_cce", 0, NULL, 0); -+ if (IS_ERR(pdev)) { -+ printk(KERN_ERR "r128_cce: Failed to register firmware\n"); -+ return PTR_ERR(pdev); -+ } -+ rc = request_firmware(&fw, FIRMWARE_NAME, &pdev->dev); -+ platform_device_unregister(pdev); -+ if (rc) { -+ printk(KERN_ERR "r128_cce: Failed to load firmware \"%s\"\n", -+ FIRMWARE_NAME); -+ return rc; -+ } -+ -+ if (fw->size != 256 * 8) { -+ printk(KERN_ERR -+ "r128_cce: Bogus length %zu in firmware \"%s\"\n", -+ fw->size, FIRMWARE_NAME); -+ rc = -EINVAL; -+ goto out_release; -+ } -+ - r128_do_wait_for_idle(dev_priv); - -+ fw_data = (const __be32 *)fw->data; - R128_WRITE(R128_PM4_MICROCODE_ADDR, 0); - for (i = 0; i < 256; i++) { -- R128_WRITE(R128_PM4_MICROCODE_DATAH, r128_cce_microcode[i * 2]); -+ R128_WRITE(R128_PM4_MICROCODE_DATAH, -+ be32_to_cpup(&fw_data[i * 2])); - R128_WRITE(R128_PM4_MICROCODE_DATAL, -- r128_cce_microcode[i * 2 + 1]); -+ be32_to_cpup(&fw_data[i * 2 + 1])); - } -+ -+out_release: -+ release_firmware(fw); -+ return rc; - } - - /* Flush any pending commands to the CCE. This should only be used just -@@ -306,6 +342,7 @@ static void r128_cce_init_ring_buffer(struct drm_device * dev, - static int r128_do_init_cce(struct drm_device * dev, drm_r128_init_t * init) - { - drm_r128_private_t *dev_priv; -+ int rc; - - DRM_DEBUG("\n"); - -@@ -532,13 +569,18 @@ static int r128_do_init_cce(struct drm_device * dev, drm_r128_init_t * init) - #endif - - r128_cce_init_ring_buffer(dev, dev_priv); -- r128_cce_load_microcode(dev_priv); -+ rc = r128_cce_load_microcode(dev_priv); - - dev->dev_private = (void *)dev_priv; - - r128_do_engine_reset(dev); - -- return 0; -+ if (rc) { -+ DRM_ERROR("Failed to load firmware!\n"); -+ r128_do_cleanup_cce(dev); -+ } -+ -+ return rc; - } - - int r128_do_cleanup_cce(struct drm_device * dev) --- -1.6.1.3 - diff --git a/patches/features/all/drivers-gpu-drm-radeon-request_firmware.patch b/patches/features/all/drivers-gpu-drm-radeon-request_firmware.patch deleted file mode 100644 index 3a1bcdd..0000000 --- a/patches/features/all/drivers-gpu-drm-radeon-request_firmware.patch +++ /dev/null @@ -1,560 +0,0 @@ -From fd63ae3af6c8ab1eeb658b501db2a5a593cdd353 Mon Sep 17 00:00:00 2001 -From: Ben Hutchings <ben@decadent.org.uk> -Date: Sun, 12 Apr 2009 04:56:11 +0100 -Subject: [PATCH] radeon: Use request_firmware() to load CP microcode - -Tested on Radeon 7500 (RV200) with and without firmware installed. ---- - drivers/gpu/drm/Kconfig | 2 +- - drivers/gpu/drm/radeon/r600_cp.c | 252 +++++++++++++++-------------------- - drivers/gpu/drm/radeon/radeon_cp.c | 121 +++++++++++------ - drivers/gpu/drm/radeon/radeon_drv.h | 5 + - 4 files changed, 188 insertions(+), 192 deletions(-) - -diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig -index b0414ee..fb97c8a 100644 ---- a/drivers/gpu/drm/Kconfig -+++ b/drivers/gpu/drm/Kconfig -@@ -37,6 +37,6 @@ config DRM_R128 - config DRM_RADEON - tristate "ATI Radeon" -- depends on BROKEN - depends on DRM && PCI -+ select FW_LOADER - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA -diff --git a/drivers/gpu/drm/radeon/r600_cp.c b/drivers/gpu/drm/radeon/r600_cp.c -index bc9d09d..4620b1b 100644 ---- a/drivers/gpu/drm/radeon/r600_cp.c -+++ b/drivers/gpu/drm/radeon/r600_cp.c -@@ -31,7 +31,22 @@ - #include "radeon_drm.h" - #include "radeon_drv.h" - --#include "r600_microcode.h" -+#define PFP_UCODE_SIZE 576 -+#define PM4_UCODE_SIZE 1792 -+#define R700_PFP_UCODE_SIZE 848 -+#define R700_PM4_UCODE_SIZE 1360 -+ -+/* Firmware Names */ -+MODULE_FIRMWARE("radeon/R600_cp.bin"); -+MODULE_FIRMWARE("radeon/RV610_cp.bin"); -+MODULE_FIRMWARE("radeon/RV630_cp.bin"); -+MODULE_FIRMWARE("radeon/RV620_cp.bin"); -+MODULE_FIRMWARE("radeon/RV635_cp.bin"); -+MODULE_FIRMWARE("radeon/RV670_cp.bin"); -+MODULE_FIRMWARE("radeon/RS780_cp.bin"); -+MODULE_FIRMWARE("radeon/RV770_cp.bin"); -+MODULE_FIRMWARE("radeon/RV730_cp.bin"); -+MODULE_FIRMWARE("radeon/RV710_cp.bin"); - - # define ATI_PCIGART_PAGE_SIZE 4096 /**< PCI GART page size */ - # define ATI_PCIGART_PAGE_MASK (~(ATI_PCIGART_PAGE_SIZE-1)) -@@ -275,11 +290,69 @@ static void r600_vm_init(struct drm_device *dev) - r600_vm_flush_gart_range(dev); - } - --/* load r600 microcode */ -+static int r600_cp_init_microcode(drm_radeon_private_t *dev_priv) -+{ -+ struct platform_device *pdev; -+ const char *chip_name; -+ size_t required_size; -+ char fw_name[30]; -+ int err; -+ -+ pdev = platform_device_register_simple("r600_cp", 0, NULL, 0); -+ err = IS_ERR(pdev); -+ if (err) { -+ printk(KERN_ERR "r600_cp: Failed to register firmware\n"); -+ return -EINVAL; -+ } -+ -+ switch (dev_priv->flags & RADEON_FAMILY_MASK) { -+ case CHIP_R600: chip_name = "R600"; break; -+ case CHIP_RV610: chip_name = "RV610"; break; -+ case CHIP_RV630: chip_name = "RV630"; break; -+ case CHIP_RV620: chip_name = "RV620"; break; -+ case CHIP_RV635: chip_name = "RV635"; break; -+ case CHIP_RV670: chip_name = "RV670"; break; -+ case CHIP_RS780: chip_name = "RS780"; break; -+ case CHIP_RV770: chip_name = "RV770"; break; -+ case CHIP_RV740: -+ case CHIP_RV730: chip_name = "RV730"; break; -+ case CHIP_RV710: chip_name = "RV710"; break; -+ default: BUG(); -+ } -+ -+ if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RV770) -+ required_size = (R700_PM4_UCODE_SIZE * 4 + -+ R700_PFP_UCODE_SIZE * 4); -+ else -+ required_size = PM4_UCODE_SIZE * 12 + PFP_UCODE_SIZE * 4; -+ -+ DRM_INFO("Loading %s CP Microcode\n", chip_name); -+ snprintf(fw_name, sizeof(fw_name), "radeon/%s_cp.bin", chip_name); -+ -+ err = request_firmware(&dev_priv->fw, fw_name, &pdev->dev); -+ platform_device_unregister(pdev); -+ if (err) { -+ printk(KERN_ERR "r600_cp: Failed to load firmware \"%s\"\n", -+ fw_name); -+ } else if (dev_priv->fw->size != required_size) { -+ printk(KERN_ERR -+ "r600_cp: Bogus length %zu in firmware \"%s\"\n", -+ dev_priv->fw->size, fw_name); -+ err = -EINVAL; -+ release_firmware(dev_priv->fw); -+ dev_priv->fw = NULL; -+ } -+ return err; -+} -+ - static void r600_cp_load_microcode(drm_radeon_private_t *dev_priv) - { -+ const __be32 *fw_data; - int i; - -+ if (!dev_priv->fw) -+ return; -+ - r600_do_cp_stop(dev_priv); - - RADEON_WRITE(R600_CP_RB_CNTL, -@@ -292,114 +364,18 @@ static void r600_cp_load_microcode(drm_radeon_private_t *dev_priv) - DRM_UDELAY(15000); - RADEON_WRITE(R600_GRBM_SOFT_RESET, 0); - -- RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); -- -- if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R600)) { -- DRM_INFO("Loading R600 CP Microcode\n"); -- for (i = 0; i < PM4_UCODE_SIZE; i++) { -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- R600_cp_microcode[i][0]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- R600_cp_microcode[i][1]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- R600_cp_microcode[i][2]); -- } -- -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading R600 PFP Microcode\n"); -- for (i = 0; i < PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, R600_pfp_microcode[i]); -- } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV610)) { -- DRM_INFO("Loading RV610 CP Microcode\n"); -- for (i = 0; i < PM4_UCODE_SIZE; i++) { -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV610_cp_microcode[i][0]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV610_cp_microcode[i][1]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV610_cp_microcode[i][2]); -- } -- -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading RV610 PFP Microcode\n"); -- for (i = 0; i < PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, RV610_pfp_microcode[i]); -- } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV630)) { -- DRM_INFO("Loading RV630 CP Microcode\n"); -- for (i = 0; i < PM4_UCODE_SIZE; i++) { -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV630_cp_microcode[i][0]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV630_cp_microcode[i][1]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV630_cp_microcode[i][2]); -- } -- -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading RV630 PFP Microcode\n"); -- for (i = 0; i < PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, RV630_pfp_microcode[i]); -- } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV620)) { -- DRM_INFO("Loading RV620 CP Microcode\n"); -- for (i = 0; i < PM4_UCODE_SIZE; i++) { -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV620_cp_microcode[i][0]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV620_cp_microcode[i][1]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV620_cp_microcode[i][2]); -- } -- -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading RV620 PFP Microcode\n"); -- for (i = 0; i < PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, RV620_pfp_microcode[i]); -- } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV635)) { -- DRM_INFO("Loading RV635 CP Microcode\n"); -- for (i = 0; i < PM4_UCODE_SIZE; i++) { -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV635_cp_microcode[i][0]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV635_cp_microcode[i][1]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV635_cp_microcode[i][2]); -- } -+ fw_data = (const __be32 *)dev_priv->fw->data; - -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading RV635 PFP Microcode\n"); -- for (i = 0; i < PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, RV635_pfp_microcode[i]); -- } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV670)) { -- DRM_INFO("Loading RV670 CP Microcode\n"); -- for (i = 0; i < PM4_UCODE_SIZE; i++) { -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV670_cp_microcode[i][0]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV670_cp_microcode[i][1]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RV670_cp_microcode[i][2]); -- } -+ RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); -+ for (i = 0; i < PM4_UCODE_SIZE * 3; i++) -+ RADEON_WRITE(R600_CP_ME_RAM_DATA, -+ be32_to_cpup(fw_data++)); - -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading RV670 PFP Microcode\n"); -- for (i = 0; i < PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, RV670_pfp_microcode[i]); -- } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS780)) { -- DRM_INFO("Loading RS780 CP Microcode\n"); -- for (i = 0; i < PM4_UCODE_SIZE; i++) { -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RS780_cp_microcode[i][0]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RS780_cp_microcode[i][1]); -- RADEON_WRITE(R600_CP_ME_RAM_DATA, -- RS780_cp_microcode[i][2]); -- } -+ RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -+ for (i = 0; i < PFP_UCODE_SIZE; i++) -+ RADEON_WRITE(R600_CP_PFP_UCODE_DATA, -+ be32_to_cpup(fw_data++)); - -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading RS780 PFP Microcode\n"); -- for (i = 0; i < PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, RS780_pfp_microcode[i]); -- } - RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); - RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); - RADEON_WRITE(R600_CP_ME_RAM_RADDR, 0); -@@ -458,11 +434,14 @@ static void r700_vm_init(struct drm_device *dev) - r600_vm_flush_gart_range(dev); - } - --/* load r600 microcode */ - static void r700_cp_load_microcode(drm_radeon_private_t *dev_priv) - { -+ const __be32 *fw_data; - int i; - -+ if (!dev_priv->fw) -+ return; -+ - r600_do_cp_stop(dev_priv); - - RADEON_WRITE(R600_CP_RB_CNTL, -@@ -475,48 +454,18 @@ static void r700_cp_load_microcode(drm_radeon_private_t *dev_priv) - DRM_UDELAY(15000); - RADEON_WRITE(R600_GRBM_SOFT_RESET, 0); - -+ fw_data = (const __be32 *)dev_priv->fw->data + R700_PM4_UCODE_SIZE; -+ RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -+ for (i = 0; i < R700_PFP_UCODE_SIZE; i++) -+ RADEON_WRITE(R600_CP_PFP_UCODE_DATA, be32_to_cpup(fw_data++)); -+ RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); - -- if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV770)) { -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading RV770/RV790 PFP Microcode\n"); -- for (i = 0; i < R700_PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, RV770_pfp_microcode[i]); -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- -- RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); -- DRM_INFO("Loading RV770/RV790 CP Microcode\n"); -- for (i = 0; i < R700_PM4_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_ME_RAM_DATA, RV770_cp_microcode[i]); -- RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); -- -- } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV730) || -- ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV740)) { -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading RV730/RV740 PFP Microcode\n"); -- for (i = 0; i < R700_PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, RV730_pfp_microcode[i]); -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- -- RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); -- DRM_INFO("Loading RV730/RV740 CP Microcode\n"); -- for (i = 0; i < R700_PM4_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_ME_RAM_DATA, RV730_cp_microcode[i]); -- RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); -- -- } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV710)) { -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- DRM_INFO("Loading RV710 PFP Microcode\n"); -- for (i = 0; i < R700_PFP_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_PFP_UCODE_DATA, RV710_pfp_microcode[i]); -- RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); -- -- RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); -- DRM_INFO("Loading RV710 CP Microcode\n"); -- for (i = 0; i < R700_PM4_UCODE_SIZE; i++) -- RADEON_WRITE(R600_CP_ME_RAM_DATA, RV710_cp_microcode[i]); -- RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); -+ fw_data = (const __be32 *)dev_priv->fw->data; -+ RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); -+ for (i = 0; i < R700_PM4_UCODE_SIZE; i++) -+ RADEON_WRITE(R600_CP_ME_RAM_DATA, be32_to_cpup(fw_data++)); -+ RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); - -- } - RADEON_WRITE(R600_CP_PFP_UCODE_ADDR, 0); - RADEON_WRITE(R600_CP_ME_RAM_WADDR, 0); - RADEON_WRITE(R600_CP_ME_RAM_RADDR, 0); -@@ -2107,6 +2057,14 @@ int r600_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init, - r600_vm_init(dev); - } - -+ if (!dev_priv->fw) { -+ int err = r600_cp_init_microcode(dev_priv); -+ if (err) { -+ DRM_ERROR("Failed to load firmware!\n"); -+ r600_do_cleanup_cp(dev); -+ return err; -+ } -+ } - if (((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RV770)) - r700_cp_load_microcode(dev_priv); - else -diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c -index 77a7a4d..e9894ac 100644 ---- a/drivers/gpu/drm/radeon/radeon_cp.c -+++ b/drivers/gpu/drm/radeon/radeon_cp.c -@@ -36,10 +36,25 @@ - #include "radeon_drv.h" - #include "r300_reg.h" - --#include "radeon_microcode.h" -- - #define RADEON_FIFO_DEBUG 0 - -+/* Firmware Names */ -+#define FIRMWARE_R100 "radeon/R100_cp.bin" -+#define FIRMWARE_R200 "radeon/R200_cp.bin" -+#define FIRMWARE_R300 "radeon/R300_cp.bin" -+#define FIRMWARE_R420 "radeon/R420_cp.bin" -+#define FIRMWARE_RS690 "radeon/RS690_cp.bin" -+#define FIRMWARE_RS600 "radeon/RS600_cp.bin" -+#define FIRMWARE_R520 "radeon/R520_cp.bin" -+ -+MODULE_FIRMWARE(FIRMWARE_R100); -+MODULE_FIRMWARE(FIRMWARE_R200); -+MODULE_FIRMWARE(FIRMWARE_R300); -+MODULE_FIRMWARE(FIRMWARE_R420); -+MODULE_FIRMWARE(FIRMWARE_RS690); -+MODULE_FIRMWARE(FIRMWARE_RS600); -+MODULE_FIRMWARE(FIRMWARE_R520); -+ - static int radeon_do_cleanup_cp(struct drm_device * dev); - static void radeon_do_cp_start(drm_radeon_private_t * dev_priv); - -@@ -451,37 +466,34 @@ static void radeon_init_pipes(drm_radeon_private_t *dev_priv) - */ - - /* Load the microcode for the CP */ --static void radeon_cp_load_microcode(drm_radeon_private_t * dev_priv) -+static int radeon_cp_init_microcode(drm_radeon_private_t *dev_priv) - { -- int i; -+ struct platform_device *pdev; -+ const char *fw_name = NULL; -+ int err; -+ - DRM_DEBUG("\n"); - -- radeon_do_wait_for_idle(dev_priv); -+ pdev = platform_device_register_simple("radeon_cp", 0, NULL, 0); -+ err = IS_ERR(pdev); -+ if (err) { -+ printk(KERN_ERR "radeon_cp: Failed to register firmware\n"); -+ return -EINVAL; -+ } - -- RADEON_WRITE(RADEON_CP_ME_RAM_ADDR, 0); - if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R100) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV100) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV200) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS100) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS200)) { - DRM_INFO("Loading R100 Microcode\n"); -- for (i = 0; i < 256; i++) { -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAH, -- R100_cp_microcode[i][1]); -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAL, -- R100_cp_microcode[i][0]); -- } -+ fw_name = FIRMWARE_R100; - } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R200) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV250) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV280) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS300)) { - DRM_INFO("Loading R200 Microcode\n"); -- for (i = 0; i < 256; i++) { -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAH, -- R200_cp_microcode[i][1]); -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAL, -- R200_cp_microcode[i][0]); -- } -+ fw_name = FIRMWARE_R200; - } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R300) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R350) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV350) || -@@ -489,39 +501,19 @@ static void radeon_cp_load_microcode(drm_radeon_private_t * dev_priv) - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS400) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS480)) { - DRM_INFO("Loading R300 Microcode\n"); -- for (i = 0; i < 256; i++) { -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAH, -- R300_cp_microcode[i][1]); -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAL, -- R300_cp_microcode[i][0]); -- } -+ fw_name = FIRMWARE_R300; - } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R420) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R423) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV410)) { - DRM_INFO("Loading R400 Microcode\n"); -- for (i = 0; i < 256; i++) { -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAH, -- R420_cp_microcode[i][1]); -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAL, -- R420_cp_microcode[i][0]); -- } -+ fw_name = FIRMWARE_R420; - } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) { - DRM_INFO("Loading RS690/RS740 Microcode\n"); -- for (i = 0; i < 256; i++) { -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAH, -- RS690_cp_microcode[i][1]); -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAL, -- RS690_cp_microcode[i][0]); -- } -+ fw_name = FIRMWARE_RS690; - } else if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS600) { - DRM_INFO("Loading RS600 Microcode\n"); -- for (i = 0; i < 256; i++) { -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAH, -- RS600_cp_microcode[i][1]); -- RADEON_WRITE(RADEON_CP_ME_RAM_DATAL, -- RS600_cp_microcode[i][0]); -- } -+ fw_name = FIRMWARE_RS600; - } else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV515) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R520) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV530) || -@@ -529,11 +521,40 @@ static void radeon_cp_load_microcode(drm_radeon_private_t * dev_priv) - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV560) || - ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV570)) { - DRM_INFO("Loading R500 Microcode\n"); -+ fw_name = FIRMWARE_R520; -+ } -+ -+ err = request_firmware(&dev_priv->fw, fw_name, &pdev->dev); -+ platform_device_unregister(pdev); -+ if (err) { -+ printk(KERN_ERR "radeon_cp: Failed to load firmware \"%s\"\n", -+ fw_name); -+ } else if (dev_priv->fw->size != 256 * 8) { -+ printk(KERN_ERR -+ "radeon_cp: Bogus length %zu in firmware \"%s\"\n", -+ dev_priv->fw->size, fw_name); -+ err = -EINVAL; -+ release_firmware(dev_priv->fw); -+ dev_priv->fw = NULL; -+ } -+ return err; -+} -+ -+static void radeon_cp_load_microcode(drm_radeon_private_t *dev_priv) -+{ -+ const __be32 *fw_data; -+ int i; -+ -+ radeon_do_wait_for_idle(dev_priv); -+ -+ if (dev_priv->fw) { -+ fw_data = (const __be32 *)&dev_priv->fw->data[0]; -+ RADEON_WRITE(RADEON_CP_ME_RAM_ADDR, 0); - for (i = 0; i < 256; i++) { - RADEON_WRITE(RADEON_CP_ME_RAM_DATAH, -- R520_cp_microcode[i][1]); -+ be32_to_cpup(fw_data++)); - RADEON_WRITE(RADEON_CP_ME_RAM_DATAL, -- R520_cp_microcode[i][0]); -+ be32_to_cpup(fw_data++)); - } - } - } -@@ -1486,6 +1507,14 @@ static int radeon_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init, - radeon_set_pcigart(dev_priv, 1); - } - -+ if (!dev_priv->fw) { -+ int err = radeon_cp_init_microcode(dev_priv); -+ if (err) { -+ DRM_ERROR("Failed to load firmware!\n"); -+ radeon_do_cleanup_cp(dev); -+ return err; -+ } -+ } - radeon_cp_load_microcode(dev_priv); - radeon_cp_init_ring_buffer(dev, dev_priv, file_priv); - -@@ -1755,6 +1784,10 @@ void radeon_do_release(struct drm_device * dev) - r600_do_cleanup_cp(dev); - else - radeon_do_cleanup_cp(dev); -+ if (dev_priv->fw) { -+ release_firmware(dev_priv->fw); -+ dev_priv->fw = NULL; -+ } - } - } - -diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h -index ed4d27e..829eefa 100644 ---- a/drivers/gpu/drm/radeon/radeon_drv.h -+++ b/drivers/gpu/drm/radeon/radeon_drv.h -@@ -31,6 +31,9 @@ - #ifndef __RADEON_DRV_H__ - #define __RADEON_DRV_H__ - -+#include <linux/firmware.h> -+#include <linux/platform_device.h> -+ - /* General customization: - */ - -@@ -348,6 +351,8 @@ typedef struct drm_radeon_private { - int r700_sc_hiz_tile_fifo_size; - int r700_sc_earlyz_tile_fifo_fize; - -+ /* firmware */ -+ const struct firmware *fw; - } drm_radeon_private_t; - - typedef struct drm_radeon_buf_priv { --- -1.5.6.5 - diff --git a/patches/features/all/drivers-infiniband-hw-ipath-iba7220-use-request_firmware.patch b/patches/features/all/drivers-infiniband-hw-ipath-iba7220-use-request_firmware.patch new file mode 100644 index 0000000..2a7bc13 --- /dev/null +++ b/patches/features/all/drivers-infiniband-hw-ipath-iba7220-use-request_firmware.patch @@ -0,0 +1,230 @@ +From 1e9da7da73886eaf63449e56ebf16cf7daa4a9e5 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Mon, 17 Aug 2009 02:17:09 +0100 +Subject: [PATCH 3/3] ib_ipath: use request_firmware() to load SD7220 firmware + +--- + drivers/infiniband/hw/ipath/Makefile | 7 ++-- + drivers/infiniband/hw/ipath/ipath_7220.h | 7 ---- + drivers/infiniband/hw/ipath/ipath_driver.c | 4 -- + drivers/infiniband/hw/ipath/ipath_sd7220.c | 49 ++++++++++++++++++++++----- + 4 files changed, 43 insertions(+), 24 deletions(-) + +diff --git a/drivers/infiniband/hw/ipath/Makefile b/drivers/infiniband/hw/ipath/Makefile +index 42d8d4c..fc892cf 100644 +--- a/drivers/infiniband/hw/ipath/Makefile ++++ b/drivers/infiniband/hw/ipath/Makefile +@@ -29,10 +29,9 @@ ib_ipath-y := \ + ipath_user_pages.o \ + ipath_user_sdma.o \ + ipath_verbs_mcast.o \ +- ipath_verbs.o +- +-# IBA7220 depends on firmware to be removed +-ib_ipath-$(CONFIG_BROKEN) += ipath_iba7220.o ipath_sd7220.o ++ ipath_verbs.o \ ++ ipath_iba7220.o \ ++ ipath_sd7220.o + + ib_ipath-$(CONFIG_HT_IRQ) += ipath_iba6110.o + ib_ipath-$(CONFIG_PCI_MSI) += ipath_iba6120.o +diff --git a/drivers/infiniband/hw/ipath/ipath_7220.h b/drivers/infiniband/hw/ipath/ipath_7220.h +index 74fa5cc..29a73e0 100644 +--- a/drivers/infiniband/hw/ipath/ipath_7220.h ++++ b/drivers/infiniband/hw/ipath/ipath_7220.h +@@ -40,10 +40,6 @@ + */ + int ipath_sd7220_presets(struct ipath_devdata *dd); + int ipath_sd7220_init(struct ipath_devdata *dd, int was_reset); +-int ipath_sd7220_prog_ld(struct ipath_devdata *dd, int sdnum, u8 *img, +- int len, int offset); +-int ipath_sd7220_prog_vfy(struct ipath_devdata *dd, int sdnum, const u8 *img, +- int len, int offset); + /* + * Below used for sdnum parameter, selecting one of the two sections + * used for PCIe, or the single SerDes used for IB, which is the +@@ -51,7 +47,4 @@ int ipath_sd7220_prog_vfy(struct ipath_devdata *dd, int sdnum, const u8 *img, + */ + #define IB_7220_SERDES 2 + +-int ipath_sd7220_ib_load(struct ipath_devdata *dd); +-int ipath_sd7220_ib_vfy(struct ipath_devdata *dd); +- + #endif /* _IPATH_7220_H */ +diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c +index 20407a0..04e88b6 100644 +--- a/drivers/infiniband/hw/ipath/ipath_driver.c ++++ b/drivers/infiniband/hw/ipath/ipath_driver.c +@@ -140,9 +140,7 @@ static int __devinit ipath_init_one(struct pci_dev *, + static const struct pci_device_id ipath_pci_tbl[] = { + { PCI_DEVICE(PCI_VENDOR_ID_PATHSCALE, PCI_DEVICE_ID_INFINIPATH_HT) }, + { PCI_DEVICE(PCI_VENDOR_ID_PATHSCALE, PCI_DEVICE_ID_INFINIPATH_PE800) }, +-#ifdef CONFIG_BROKEN + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_INFINIPATH_7220) }, +-#endif + { 0, } + }; + +@@ -537,7 +535,6 @@ static int __devinit ipath_init_one(struct pci_dev *pdev, + "CONFIG_PCI_MSI is not enabled\n", ent->device); + return -ENODEV; + #endif +-#ifdef CONFIG_BROKEN + case PCI_DEVICE_ID_INFINIPATH_7220: + #ifndef CONFIG_PCI_MSI + ipath_dbg("CONFIG_PCI_MSI is not enabled, " +@@ -545,7 +542,6 @@ static int __devinit ipath_init_one(struct pci_dev *pdev, + #endif + ipath_init_iba7220_funcs(dd); + break; +-#endif + default: + ipath_dev_err(dd, "Found unknown QLogic deviceid 0x%x, " + "failing\n", ent->device); +diff --git a/drivers/infiniband/hw/ipath/ipath_sd7220.c b/drivers/infiniband/hw/ipath/ipath_sd7220.c +index aa47eb5..df3735d 100644 +--- a/drivers/infiniband/hw/ipath/ipath_sd7220.c ++++ b/drivers/infiniband/hw/ipath/ipath_sd7220.c +@@ -37,11 +37,15 @@ + + #include <linux/pci.h> + #include <linux/delay.h> ++#include <linux/firmware.h> + + #include "ipath_kernel.h" + #include "ipath_registers.h" + #include "ipath_7220.h" + ++#define SD7220_FW_NAME "qlogic/sd7220.fw" ++MODULE_FIRMWARE(SD7220_FW_NAME); ++ + /* + * The IBSerDesMappTable is a memory that holds values to be stored in + * various SerDes registers by IBC. It is not part of the normal kregs +@@ -88,6 +92,11 @@ static int ipath_internal_presets(struct ipath_devdata *dd); + static int ipath_sd_trimself(struct ipath_devdata *dd, int val); + static int epb_access(struct ipath_devdata *dd, int sdnum, int claim); + ++static int ++ipath_sd7220_ib_load(struct ipath_devdata *dd, const struct firmware *fw); ++static int ++ipath_sd7220_ib_vfy(struct ipath_devdata *dd, const struct firmware *fw); ++ + void ipath_set_relock_poll(struct ipath_devdata *dd, int ibup); + + /* +@@ -98,9 +107,10 @@ void ipath_set_relock_poll(struct ipath_devdata *dd, int ibup); + * ipath_sd7220_init() is no longer valid. Instead, we check for the + * actual uC code having been loaded. + */ +-static int ipath_ibsd_ucode_loaded(struct ipath_devdata *dd) ++static int ++ipath_ibsd_ucode_loaded(struct ipath_devdata *dd, const struct firmware *fw) + { +- if (!dd->serdes_first_init_done && (ipath_sd7220_ib_vfy(dd) > 0)) ++ if (!dd->serdes_first_init_done && (ipath_sd7220_ib_vfy(dd, fw) > 0)) + dd->serdes_first_init_done = 1; + return dd->serdes_first_init_done; + } +@@ -363,6 +373,7 @@ static void ipath_sd_trimdone_monitor(struct ipath_devdata *dd, + */ + int ipath_sd7220_init(struct ipath_devdata *dd, int was_reset) + { ++ const struct firmware *fw; + int ret = 1; /* default to failure */ + int first_reset; + int val_stat; +@@ -373,8 +384,14 @@ int ipath_sd7220_init(struct ipath_devdata *dd, int was_reset) + ipath_sd_trimdone_monitor(dd, "Driver-reload"); + } + ++ ret = request_firmware(&fw, SD7220_FW_NAME, &dd->pcidev->dev); ++ if (ret) { ++ ipath_dev_err(dd, "Failed to load IB SERDES image\n"); ++ goto done; ++ } ++ + /* Substitute our deduced value for was_reset */ +- ret = ipath_ibsd_ucode_loaded(dd); ++ ret = ipath_ibsd_ucode_loaded(dd, fw); + if (ret < 0) { + ret = 1; + goto done; +@@ -431,7 +448,7 @@ int ipath_sd7220_init(struct ipath_devdata *dd, int was_reset) + int vfy; + int trim_done; + ipath_dbg("SerDes uC was reset, reloading PRAM\n"); +- ret = ipath_sd7220_ib_load(dd); ++ ret = ipath_sd7220_ib_load(dd, fw); + if (ret < 0) { + ipath_dev_err(dd, "Failed to load IB SERDES image\n"); + ret = 1; +@@ -439,7 +456,7 @@ int ipath_sd7220_init(struct ipath_devdata *dd, int was_reset) + } + + /* Loaded image, try to verify */ +- vfy = ipath_sd7220_ib_vfy(dd); ++ vfy = ipath_sd7220_ib_vfy(dd, fw); + if (vfy != ret) { + ipath_dev_err(dd, "SERDES PRAM VFY failed\n"); + ret = 1; +@@ -500,6 +517,8 @@ int ipath_sd7220_init(struct ipath_devdata *dd, int was_reset) + done: + /* start relock timer regardless, but start at 1 second */ + ipath_set_relock_poll(dd, -1); ++ ++ release_firmware(fw); + return ret; + } + +@@ -836,8 +855,8 @@ static int ipath_sd7220_ram_xfer(struct ipath_devdata *dd, int sdnum, u32 loc, + + #define PROG_CHUNK 64 + +-int ipath_sd7220_prog_ld(struct ipath_devdata *dd, int sdnum, +- u8 *img, int len, int offset) ++static int ipath_sd7220_prog_ld(struct ipath_devdata *dd, int sdnum, ++ const u8 *img, int len, int offset) + { + int cnt, sofar, req; + +@@ -847,7 +866,7 @@ int ipath_sd7220_prog_ld(struct ipath_devdata *dd, int sdnum, + if (req > PROG_CHUNK) + req = PROG_CHUNK; + cnt = ipath_sd7220_ram_xfer(dd, sdnum, offset + sofar, +- img + sofar, req, 0); ++ (u8 *)img + sofar, req, 0); + if (cnt < req) { + sofar = -1; + break; +@@ -860,7 +879,7 @@ int ipath_sd7220_prog_ld(struct ipath_devdata *dd, int sdnum, + #define VFY_CHUNK 64 + #define SD_PRAM_ERROR_LIMIT 42 + +-int ipath_sd7220_prog_vfy(struct ipath_devdata *dd, int sdnum, ++static int ipath_sd7220_prog_vfy(struct ipath_devdata *dd, int sdnum, + const u8 *img, int len, int offset) + { + int cnt, sofar, req, idx, errors; +@@ -888,6 +907,18 @@ int ipath_sd7220_prog_vfy(struct ipath_devdata *dd, int sdnum, + return errors ? -errors : sofar; + } + ++static int ++ipath_sd7220_ib_load(struct ipath_devdata *dd, const struct firmware *fw) ++{ ++ return ipath_sd7220_prog_ld(dd, IB_7220_SERDES, fw->data, fw->size, 0); ++} ++ ++static int ++ipath_sd7220_ib_vfy(struct ipath_devdata *dd, const struct firmware *fw) ++{ ++ return ipath_sd7220_prog_vfy(dd, IB_7220_SERDES, fw->data, fw->size, 0); ++} ++ + /* IRQ not set up at this point in init, so we poll. */ + #define IB_SERDES_TRIM_DONE (1ULL << 11) + #define TRIM_TMO (30) +-- +1.6.3.3 + diff --git a/patches/features/all/drivers-media-dvb-usb-af9005-request_firmware.patch b/patches/features/all/drivers-media-dvb-usb-af9005-request_firmware.patch new file mode 100644 index 0000000..91c4a1f --- /dev/null +++ b/patches/features/all/drivers-media-dvb-usb-af9005-request_firmware.patch @@ -0,0 +1,152 @@ +From 0b8d838ecaa0235000347c084d192aa30b76ae70 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Mon, 24 Aug 2009 23:19:58 +0100 +Subject: [PATCH] af9005: Use request_firmware() to load register init script + +Read the register init script from the Windows driver. This is sick +but should avoid the potential copyright infringement in distributing +a version of the script which is directly derived from the driver. +--- + drivers/media/dvb/dvb-usb/Kconfig | 2 +- + drivers/media/dvb/dvb-usb/af9005-fe.c | 66 ++++++++++++++++++++++++++------ + 2 files changed, 54 insertions(+), 14 deletions(-) + +diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig +index 868e1cb..1c3d56d 100644 +--- a/drivers/media/dvb/dvb-usb/Kconfig ++++ b/drivers/media/dvb/dvb-usb/Kconfig +@@ -238,10 +238,10 @@ config DVB_USB_OPERA1 + + config DVB_USB_AF9005 + tristate "Afatech AF9005 DVB-T USB1.1 support" +- depends on BROKEN + depends on DVB_USB && EXPERIMENTAL + select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMISE + select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMISE ++ select FW_LOADER + help + Say Y here to support the Afatech AF9005 based DVB-T USB1.1 receiver + and the TerraTec Cinergy T USB XE (Rev.1) +diff --git a/drivers/media/dvb/dvb-usb/af9005-fe.c b/drivers/media/dvb/dvb-usb/af9005-fe.c +index 199ece0..bcc26c8 100644 +--- a/drivers/media/dvb/dvb-usb/af9005-fe.c ++++ b/drivers/media/dvb/dvb-usb/af9005-fe.c +@@ -22,10 +22,26 @@ + * see Documentation/dvb/README.dvb-usb for more information + */ + #include "af9005.h" +-#include "af9005-script.h" + #include "mt2060.h" + #include "qt1010.h" + #include <asm/div64.h> ++#include <linux/firmware.h> ++ ++/* Register initialisation script to be extracted from the Windows driver */ ++ ++typedef struct { ++ __le16 reg; ++ u8 pos; ++ u8 len; ++ u8 val; ++ u8 pad; ++} __packed RegDesc; ++ ++#define WIN_DRV_NAME "AF05BDA.sys" ++#define WIN_DRV_VERSION "6.3.2.1" ++#define WIN_DRV_SIZE 133504 ++#define WIN_DRV_SCRIPT_OFFSET 88316 ++#define WIN_DRV_SCRIPT_SIZE 1110 + + struct af9005_fe_state { + struct dvb_usb_device *d; +@@ -818,6 +834,8 @@ static int af9005_fe_init(struct dvb_frontend *fe) + { + struct af9005_fe_state *state = fe->demodulator_priv; + struct dvb_usb_adapter *adap = fe->dvb->priv; ++ const struct firmware *fw; ++ const RegDesc *script; + int ret, i, scriptlen; + u8 temp, temp0 = 0, temp1 = 0, temp2 = 0; + u8 buf[2]; +@@ -969,37 +987,55 @@ static int af9005_fe_init(struct dvb_frontend *fe) + if ((ret = af9005_write_ofdm_register(state->d, 0xaefb, 0x01))) + return ret; + +- /* load init script */ +- deb_info("load init script\n"); +- scriptlen = sizeof(script) / sizeof(RegDesc); ++ /* load and validate init script */ ++ deb_info("load init script from Windows driver\n"); ++ ret = request_firmware(&fw, WIN_DRV_NAME, &state->d->udev->dev); ++ if (ret) ++ return ret; ++ BUILD_BUG_ON(sizeof(RegDesc) != 6); ++ if (fw->size != WIN_DRV_SIZE || ++ memcmp(fw->data + WIN_DRV_SCRIPT_OFFSET, ++ "\x80\xa1\x00\x08\x0a\x00", 6) || ++ memcmp(fw->data + WIN_DRV_SCRIPT_OFFSET + WIN_DRV_SCRIPT_SIZE - 6, ++ "\x49\xa3\x00\x06\x02\x00", 6)) { ++ err("%s is invalid - should be version %s, size %u bytes\n", ++ WIN_DRV_NAME, WIN_DRV_VERSION, WIN_DRV_SIZE); ++ ret = -EINVAL; ++ goto fail_release; ++ } ++ ++ script = (const RegDesc *)(fw->data + WIN_DRV_SCRIPT_OFFSET); ++ scriptlen = WIN_DRV_SCRIPT_SIZE / sizeof(RegDesc); + for (i = 0; i < scriptlen; i++) { ++ u16 reg = le16_to_cpu(script[i].reg); + if ((ret = +- af9005_write_register_bits(state->d, script[i].reg, ++ af9005_write_register_bits(state->d, reg, + script[i].pos, + script[i].len, script[i].val))) +- return ret; ++ goto fail_release; + /* save 3 bytes of original fcw */ +- if (script[i].reg == 0xae18) ++ if (reg == 0xae18) + temp2 = script[i].val; +- if (script[i].reg == 0xae19) ++ if (reg == 0xae19) + temp1 = script[i].val; +- if (script[i].reg == 0xae1a) ++ if (reg == 0xae1a) + temp0 = script[i].val; + + /* save original unplug threshold */ +- if (script[i].reg == xd_p_reg_unplug_th) ++ if (reg == xd_p_reg_unplug_th) + state->original_if_unplug_th = script[i].val; +- if (script[i].reg == xd_p_reg_unplug_rf_gain_th) ++ if (reg == xd_p_reg_unplug_rf_gain_th) + state->original_rf_unplug_th = script[i].val; +- if (script[i].reg == xd_p_reg_unplug_dtop_if_gain_th) ++ if (reg == xd_p_reg_unplug_dtop_if_gain_th) + state->original_dtop_if_unplug_th = script[i].val; +- if (script[i].reg == xd_p_reg_unplug_dtop_rf_gain_th) ++ if (reg == xd_p_reg_unplug_dtop_rf_gain_th) + state->original_dtop_rf_unplug_th = script[i].val; + + } + state->original_fcw = + ((u32) temp2 << 16) + ((u32) temp1 << 8) + (u32) temp0; + ++ release_firmware(fw); + + /* save original TOPs */ + deb_info("save original TOPs\n"); +@@ -1079,6 +1115,10 @@ static int af9005_fe_init(struct dvb_frontend *fe) + + deb_info("profit!\n"); + return 0; ++ ++fail_release: ++ release_firmware(fw); ++ return ret; + } + + static int af9005_fe_sleep(struct dvb_frontend *fe) +-- +1.6.3.3 + diff --git a/patches/features/all/drivers-net-acenic-firmwar_request.patch b/patches/features/all/drivers-net-acenic-firmwar_request.patch deleted file mode 100644 index 8bda138..0000000 --- a/patches/features/all/drivers-net-acenic-firmwar_request.patch +++ /dev/null @@ -1,272 +0,0 @@ -Subject: [PATCH] firmware: convert acenic driver to request_firmware() -From: David Woodhouse <dwmw2@infradead.org> -To: Jes Sorensen <jes@trained-monkey.org> -Cc: netdev@vger.kernel.org, jaswinder@infradead.org - -Again with help from Jaswinder Singh. - -Omitting the large part of the patch which actually moves the firmware -around, since you'll need to pull from the git tree to get the preceding -patches if you want to test it anyway. - -We store the firmware in little-endian form now, and thus use -__raw_writel() to write it to the device, to avoid byteswapping by -writel(). I've revamped that loop in ace_copy() a little bit so it could -probably do with being tested. - -I've dropped the information about SBSS and BSS sections of the firmware --- we were clearing the whole of the device's memory in advance anyway, -so clearing the BSS sections for a _second_ time seems pointless. And -since the text,rodata,data sections were (almost) contiguous, we now -just load those as a single blob rather than keeping them separate. - -Although it probably isn't necessary, we do preserve the ability to -change the load and start addresses from 0x4000, by putting them into a -header at the beginning of the firmware blob, along with the version -number. - -[ ported to debian -maks ] - -diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig -index f80c839..7677680 100644 ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -1912,8 +1912,8 @@ if NETDEV_1000 - - config ACENIC - tristate "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support" -- depends on BROKEN - depends on PCI -+ select FW_LOADER - ---help--- - Say Y here if you have an Alteon AceNIC, 3Com 3C985(B), NetGear - GA620, SGI Gigabit or Farallon PN9000-SX PCI Gigabit Ethernet -diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c -index 6c19265..1e42734 100644 ---- a/drivers/net/acenic.c -+++ b/drivers/net/acenic.c -@@ -67,6 +67,7 @@ - #include <linux/mm.h> - #include <linux/highmem.h> - #include <linux/sockios.h> -+#include <linux/firmware.h> - - #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) - #include <linux/if_vlan.h> -@@ -187,8 +188,6 @@ MODULE_DEVICE_TABLE(pci, acenic_pci_tbl); - #define MAX_RODATA_LEN 8*1024 - #define MAX_DATA_LEN 2*1024 - --#include "acenic_firmware.h" -- - #ifndef tigon2FwReleaseLocal - #define tigon2FwReleaseLocal 0 - #endif -@@ -418,6 +417,8 @@ static int dis_pci_mem_inval[ACE_MAX_MOD_PARMS] = {1, 1, 1, 1, 1, 1, 1, 1}; - MODULE_AUTHOR("Jes Sorensen <jes@trained-monkey.org>"); - MODULE_LICENSE("GPL"); - MODULE_DESCRIPTION("AceNIC/3C985/GA620 Gigabit Ethernet driver"); -+MODULE_FIRMWARE("acenic_tg1.bin"); -+MODULE_FIRMWARE("acenic_tg2.bin"); - - module_param_array_named(link, link_state, int, NULL, 0); - module_param_array(trace, int, NULL, 0); -@@ -939,8 +940,8 @@ static int __devinit ace_init(struct net_device *dev) - case 4: - case 5: - printk(KERN_INFO " Tigon I (Rev. %i), Firmware: %i.%i.%i, ", -- tig_ver, tigonFwReleaseMajor, tigonFwReleaseMinor, -- tigonFwReleaseFix); -+ tig_ver, ap->firmware_major, ap->firmware_minor, -+ ap->firmware_fix); - writel(0, ®s->LocalCtrl); - ap->version = 1; - ap->tx_ring_entries = TIGON_I_TX_RING_ENTRIES; -@@ -948,8 +949,8 @@ static int __devinit ace_init(struct net_device *dev) - #endif - case 6: - printk(KERN_INFO " Tigon II (Rev. %i), Firmware: %i.%i.%i, ", -- tig_ver, tigon2FwReleaseMajor, tigon2FwReleaseMinor, -- tigon2FwReleaseFix); -+ tig_ver, ap->firmware_major, ap->firmware_minor, -+ ap->firmware_fix); - writel(readl(®s->CpuBCtrl) | CPU_HALT, ®s->CpuBCtrl); - readl(®s->CpuBCtrl); /* PCI write posting */ - /* -@@ -1201,7 +1202,9 @@ static int __devinit ace_init(struct net_device *dev) - memset(ap->info, 0, sizeof(struct ace_info)); - memset(ap->skb, 0, sizeof(struct ace_skb)); - -- ace_load_firmware(dev); -+ if (ace_load_firmware(dev)) -+ goto init_error; -+ - ap->fw_running = 0; - - tmp_ptr = ap->info_dma; -@@ -1437,10 +1440,7 @@ static int __devinit ace_init(struct net_device *dev) - if (ap->version >= 2) - writel(tmp, ®s->TuneFastLink); - -- if (ACE_IS_TIGON_I(ap)) -- writel(tigonFwStartAddr, ®s->Pc); -- if (ap->version == 2) -- writel(tigon2FwStartAddr, ®s->Pc); -+ writel(ap->firmware_start, ®s->Pc); - - writel(0, ®s->Mb0Lo); - -@@ -2763,8 +2763,8 @@ static void ace_get_drvinfo(struct net_device *dev, - - strlcpy(info->driver, "acenic", sizeof(info->driver)); - snprintf(info->version, sizeof(info->version), "%i.%i.%i", -- tigonFwReleaseMajor, tigonFwReleaseMinor, -- tigonFwReleaseFix); -+ ap->firmware_major, ap->firmware_minor, -+ ap->firmware_fix); - - if (ap->pdev) - strlcpy(info->bus_info, pci_name(ap->pdev), -@@ -2871,11 +2871,10 @@ static struct net_device_stats *ace_get_stats(struct net_device *dev) - } - - --static void __devinit ace_copy(struct ace_regs __iomem *regs, void *src, -- u32 dest, int size) -+static void __devinit ace_copy(struct ace_regs __iomem *regs, const __le32 *src, -+ u32 dest, int size) - { - void __iomem *tdest; -- u32 *wsrc; - short tsize, i; - - if (size <= 0) -@@ -2887,20 +2886,15 @@ static void __devinit ace_copy(struct ace_regs __iomem *regs, void *src, - tdest = (void __iomem *) ®s->Window + - (dest & (ACE_WINDOW_SIZE - 1)); - writel(dest & ~(ACE_WINDOW_SIZE - 1), ®s->WinBase); -- /* -- * This requires byte swapping on big endian, however -- * writel does that for us -- */ -- wsrc = src; - for (i = 0; i < (tsize / 4); i++) { -- writel(wsrc[i], tdest + i*4); -+ /* Firmware is stored as little-endian */ -+ __raw_writel(*src, tdest); -+ src++; -+ tdest += 4; -+ dest += 4; -+ size -= 4; - } -- dest += tsize; -- src += tsize; -- size -= tsize; - } -- -- return; - } - - -@@ -2939,8 +2933,13 @@ static void __devinit ace_clear(struct ace_regs __iomem *regs, u32 dest, int siz - */ - static int __devinit ace_load_firmware(struct net_device *dev) - { -+ const struct firmware *fw; -+ const char *fw_name = "acenic_tg2.bin"; - struct ace_private *ap = netdev_priv(dev); - struct ace_regs __iomem *regs = ap->regs; -+ const __le32 *fw_data; -+ u32 load_addr; -+ int ret; - - if (!(readl(®s->CpuCtrl) & CPU_HALTED)) { - printk(KERN_ERR "%s: trying to download firmware while the " -@@ -2948,28 +2947,52 @@ static int __devinit ace_load_firmware(struct net_device *dev) - return -EFAULT; - } - -+ if (ACE_IS_TIGON_I(ap)) -+ fw_name = "acenic_tg1.bin"; -+ -+ ret = request_firmware(&fw, fw_name, &ap->pdev->dev); -+ if (ret) { -+ printk(KERN_ERR "%s: Failed to load firmware \"%s\"\n", -+ ap->name, fw_name); -+ return ret; -+ } -+ -+ fw_data = (void *)fw->data; -+ -+ /* Firmware blob starts with version numbers, followed by -+ load and start address. Remainder is the blob to be loaded -+ contiguously from load address. We don't bother to represent -+ the BSS/SBSS sections any more, since we were clearing the -+ whole thing anyway. */ -+ ap->firmware_major = fw->data[0]; -+ ap->firmware_minor = fw->data[1]; -+ ap->firmware_fix = fw->data[2]; -+ -+ ap->firmware_start = le32_to_cpu(fw_data[1]); -+ if (ap->firmware_start < 0x4000 || ap->firmware_start >= 0x80000) { -+ printk(KERN_ERR "%s: bogus load address %08x in \"%s\"\n", -+ ap->name, ap->firmware_start, fw_name); -+ ret = -EINVAL; -+ goto out; -+ } -+ -+ load_addr = le32_to_cpu(fw_data[2]); -+ if (load_addr < 0x4000 || load_addr >= 0x80000) { -+ printk(KERN_ERR "%s: bogus load address %08x in \"%s\"\n", -+ ap->name, load_addr, fw_name); -+ ret = -EINVAL; -+ goto out; -+ } -+ - /* -- * Do not try to clear more than 512KB or we end up seeing -- * funny things on NICs with only 512KB SRAM -+ * Do not try to clear more than 512KiB or we end up seeing -+ * funny things on NICs with only 512KiB SRAM - */ - ace_clear(regs, 0x2000, 0x80000-0x2000); -- if (ACE_IS_TIGON_I(ap)) { -- ace_copy(regs, tigonFwText, tigonFwTextAddr, tigonFwTextLen); -- ace_copy(regs, tigonFwData, tigonFwDataAddr, tigonFwDataLen); -- ace_copy(regs, tigonFwRodata, tigonFwRodataAddr, -- tigonFwRodataLen); -- ace_clear(regs, tigonFwBssAddr, tigonFwBssLen); -- ace_clear(regs, tigonFwSbssAddr, tigonFwSbssLen); -- }else if (ap->version == 2) { -- ace_clear(regs, tigon2FwBssAddr, tigon2FwBssLen); -- ace_clear(regs, tigon2FwSbssAddr, tigon2FwSbssLen); -- ace_copy(regs, tigon2FwText, tigon2FwTextAddr,tigon2FwTextLen); -- ace_copy(regs, tigon2FwRodata, tigon2FwRodataAddr, -- tigon2FwRodataLen); -- ace_copy(regs, tigon2FwData, tigon2FwDataAddr,tigon2FwDataLen); -- } -- -- return 0; -+ ace_copy(regs, &fw_data[3], load_addr, fw->size-12); -+ out: -+ release_firmware(fw); -+ return ret; - } - - -diff --git a/drivers/net/acenic.h b/drivers/net/acenic.h -index 60ed183..cf7e80e 100644 ---- a/drivers/net/acenic.h -+++ b/drivers/net/acenic.h -@@ -695,6 +695,10 @@ struct ace_private - #endif - struct net_device_stats stats; - int pci_using_dac; -+ u8 firmware_major; -+ u8 firmware_minor; -+ u8 firmware_fix; -+ u32 firmware_start; - }; - - - diff --git a/patches/features/all/drivers-net-cxgb3-request_firmware.patch b/patches/features/all/drivers-net-cxgb3-request_firmware.patch deleted file mode 100644 index c6cc980..0000000 --- a/patches/features/all/drivers-net-cxgb3-request_firmware.patch +++ /dev/null @@ -1,213 +0,0 @@ -From 70824840b09935e8df8cc9123f1c09400e00b7b5 Mon Sep 17 00:00:00 2001 -From: Ben Hutchings <ben@decadent.org.uk> -Date: Thu, 9 Jul 2009 00:25:04 +0100 -Subject: [PATCH 3/3] cxgb3: Use request_firmware() for EDC PHY code - -Adapted from work by Divy Le Ray <divy@chelsio.com>. ---- - drivers/net/Kconfig | 1 - - drivers/net/cxgb3/adapter.h | 2 + - drivers/net/cxgb3/ael1002.c | 40 +++++++++++++++++------ - drivers/net/cxgb3/common.h | 10 ++++++ - drivers/net/cxgb3/cxgb3_main.c | 69 ++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 111 insertions(+), 11 deletions(-) - -diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig -index 183479d..c155bd3 100644 ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -2511,7 +2511,6 @@ config CHELSIO_T3_DEPENDS - - config CHELSIO_T3 - tristate "Chelsio Communications T3 10Gb Ethernet support" -- depends on BROKEN - depends on CHELSIO_T3_DEPENDS - select FW_LOADER - select MDIO -diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h -index 1694fad..9241c88 100644 ---- a/drivers/net/cxgb3/adapter.h -+++ b/drivers/net/cxgb3/adapter.h -@@ -312,4 +312,6 @@ int t3_get_desc(const struct sge_qset *qs, unsigned int qnum, unsigned int idx, - unsigned char *data); - irqreturn_t t3_sge_intr_msix(int irq, void *cookie); - -+int t3_get_edc_fw(struct cphy *phy, int edc_idx, int size); -+ - #endif /* __T3_ADAPTER_H__ */ -diff --git a/drivers/net/cxgb3/ael1002.c b/drivers/net/cxgb3/ael1002.c -index 7b0d445..5a4ff80 100644 ---- a/drivers/net/cxgb3/ael1002.c -+++ b/drivers/net/cxgb3/ael1002.c -@@ -312,9 +312,16 @@ static int ael2005_setup_sr_edc(struct cphy *phy) - - msleep(50); - -- for (i = 0; i < ARRAY_SIZE(sr_edc) && !err; i += 2) -- err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, sr_edc[i], -- sr_edc[i + 1]); -+ if (phy->priv != edc_sr) -+ err = t3_get_edc_fw(phy, EDC_OPT_AEL2005, -+ EDC_OPT_AEL2005_SIZE); -+ if (err) -+ return err; -+ -+ for (i = 0; i < EDC_OPT_AEL2005_SIZE / sizeof(u16) && !err; i += 2) -+ err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, -+ phy->phy_cache[i], -+ phy->phy_cache[i + 1]); - if (!err) - phy->priv = edc_sr; - return err; -@@ -341,9 +348,16 @@ static int ael2005_setup_twinax_edc(struct cphy *phy, int modtype) - - msleep(50); - -- for (i = 0; i < ARRAY_SIZE(twinax_edc) && !err; i += 2) -- err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, twinax_edc[i], -- twinax_edc[i + 1]); -+ if (phy->priv != edc_twinax) -+ err = t3_get_edc_fw(phy, EDC_TWX_AEL2005, -+ EDC_TWX_AEL2005_SIZE); -+ if (err) -+ return err; -+ -+ for (i = 0; i < EDC_TWX_AEL2005_SIZE / sizeof(u16) && !err; i += 2) -+ err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, -+ phy->phy_cache[i], -+ phy->phy_cache[i + 1]); - if (!err) - phy->priv = edc_twinax; - return err; -@@ -573,10 +587,16 @@ static int ael2020_setup_twinax_edc(struct cphy *phy, int modtype) - if (err) - return err; - -- /* write TWINAX EDC firmware into PHY */ -- for (i = 0; i < ARRAY_SIZE(twinax_edc) && !err; i += 2) -- err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, twinax_edc[i], -- twinax_edc[i + 1]); -+ if (phy->priv != edc_twinax) -+ err = t3_get_edc_fw(phy, EDC_TWX_AEL2020, -+ EDC_TWX_AEL2020_SIZE); -+ if (err) -+ return err; -+ -+ for (i = 0; i < EDC_TWX_AEL2020_SIZE / sizeof(u16) && !err; i += 2) -+ err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, -+ phy->phy_cache[i], -+ phy->phy_cache[i + 1]); - /* activate uC */ - err = set_phy_regs(phy, uCactivate); - if (!err) -diff --git a/drivers/net/cxgb3/common.h b/drivers/net/cxgb3/common.h -index d21b705..1b2c305 100644 ---- a/drivers/net/cxgb3/common.h -+++ b/drivers/net/cxgb3/common.h -@@ -566,6 +566,15 @@ struct cphy_ops { - - u32 mmds; - }; -+enum { -+ EDC_OPT_AEL2005 = 0, -+ EDC_OPT_AEL2005_SIZE = 1084, -+ EDC_TWX_AEL2005 = 1, -+ EDC_TWX_AEL2005_SIZE = 1464, -+ EDC_TWX_AEL2020 = 2, -+ EDC_TWX_AEL2020_SIZE = 1628, -+ EDC_MAX_SIZE = EDC_TWX_AEL2020_SIZE, /* Max cache size */ -+}; - - /* A PHY instance */ - struct cphy { -@@ -577,6 +586,7 @@ struct cphy { - unsigned long fifo_errors; /* FIFO over/under-flows */ - const struct cphy_ops *ops; /* PHY operations */ - struct mdio_if_info mdio; -+ u16 phy_cache[EDC_MAX_SIZE]; /* EDC cache */ - }; - - /* Convenience MDIO read/write wrappers */ -diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c -index 538dda4..27e7ef5 100644 ---- a/drivers/net/cxgb3/cxgb3_main.c -+++ b/drivers/net/cxgb3/cxgb3_main.c -@@ -964,6 +964,75 @@ static int bind_qsets(struct adapter *adap) - - #define FW_FNAME "cxgb3/t3fw-%d.%d.%d.bin" - #define TPSRAM_NAME "cxgb3/t3%c_psram-%d.%d.%d.bin" -+#define AEL2005_OPT_EDC_NAME "cxgb3/ael2005_opt_edc.bin" -+#define AEL2005_TWX_EDC_NAME "cxgb3/ael2005_twx_edc.bin" -+#define AEL2020_TWX_EDC_NAME "cxgb3/ael2020_twx_edc.bin" -+ -+static inline const char *get_edc_fw_name(int edc_idx) -+{ -+ const char *fw_name = NULL; -+ -+ switch (edc_idx) { -+ case EDC_OPT_AEL2005: -+ fw_name = AEL2005_OPT_EDC_NAME; -+ break; -+ case EDC_TWX_AEL2005: -+ fw_name = AEL2005_TWX_EDC_NAME; -+ break; -+ case EDC_TWX_AEL2020: -+ fw_name = AEL2020_TWX_EDC_NAME; -+ break; -+ } -+ return fw_name; -+} -+ -+int t3_get_edc_fw(struct cphy *phy, int edc_idx, int size) -+{ -+ struct adapter *adapter = phy->adapter; -+ const struct firmware *fw; -+ char buf[64]; -+ u32 csum; -+ const __be32 *p; -+ u16 *cache = phy->phy_cache; -+ int i, ret; -+ -+ snprintf(buf, sizeof(buf), get_edc_fw_name(edc_idx)); -+ -+ ret = request_firmware(&fw, buf, &adapter->pdev->dev); -+ if (ret < 0) { -+ dev_err(&adapter->pdev->dev, -+ "could not upgrade firmware: unable to load %s\n", -+ buf); -+ return ret; -+ } -+ -+ /* check size, take checksum in account */ -+ if (fw->size > size + 4) { -+ CH_ERR(adapter, "firmware image too large %u, expected %d\n", -+ (unsigned int)fw->size, size + 4); -+ ret = -EINVAL; -+ } -+ -+ /* compute checksum */ -+ p = (const __be32 *)fw->data; -+ for (csum = 0, i = 0; i < fw->size / sizeof(csum); i++) -+ csum += ntohl(p[i]); -+ -+ if (csum != 0xffffffff) { -+ CH_ERR(adapter, "corrupted firmware image, checksum %u\n", -+ csum); -+ ret = -EINVAL; -+ } -+ -+ for (i = 0; i < size / 4 ; i++) { -+ *cache++ = (be32_to_cpu(p[i]) & 0xffff0000) >> 16; -+ *cache++ = be32_to_cpu(p[i]) & 0xffff; -+ } -+ -+ release_firmware(fw); -+ -+ return ret; -+} - - static int upgrade_fw(struct adapter *adap) - { --- -1.6.3.3 - diff --git a/patches/features/all/drivers-staging-rt28x0sta-request_firmware.patch b/patches/features/all/drivers-staging-rt28x0sta-request_firmware.patch deleted file mode 100644 index e6595b1..0000000 --- a/patches/features/all/drivers-staging-rt28x0sta-request_firmware.patch +++ /dev/null @@ -1,280 +0,0 @@ -From a504b7009265d58543dcb3446421da51424241d4 Mon Sep 17 00:00:00 2001 -From: Ben Hutchings <ben@decadent.org.uk> -Date: Sun, 28 Jun 2009 15:51:07 +0100 -Subject: [PATCH] rt2860/2870/3070: use the firmware loader interface and library CRC code - -Based on work by Darren Salt <linux@youmustbejoking.demon.co.uk>. ---- - drivers/staging/rt2860/Kconfig | 3 +- - drivers/staging/rt2860/common/rtmp_init.c | 159 ++++++++++++----------------- - drivers/staging/rt2870/Kconfig | 3 +- - drivers/staging/rt3070/Kconfig | 3 +- - 4 files changed, 70 insertions(+), 98 deletions(-) - -diff --git a/drivers/staging/rt2860/Kconfig b/drivers/staging/rt2860/Kconfig -index 9fb130d..d75a87a 100644 ---- a/drivers/staging/rt2860/Kconfig -+++ b/drivers/staging/rt2860/Kconfig -@@ -1,6 +1,7 @@ - config RT2860 - tristate "Ralink 2860 wireless support" -- depends on BROKEN - depends on PCI && X86 && WLAN_80211 -+ select CRC_ITU_T -+ select FW_LOADER - ---help--- - This is an experimental driver for the Ralink 2860 wireless chip. -diff --git a/drivers/staging/rt2860/common/rtmp_init.c b/drivers/staging/rt2860/common/rtmp_init.c -index 004f530..f34011c 100644 ---- a/drivers/staging/rt2860/common/rtmp_init.c -+++ b/drivers/staging/rt2860/common/rtmp_init.c -@@ -38,18 +38,8 @@ - Jan Lee 2006-09-15 RT2860. Change for 802.11n , EEPROM, Led, BA, HT. - */ - #include "../rt_config.h" --#ifndef RT30xx --#ifdef RT2860 --#include "firmware.h" --#include <linux/bitrev.h> --#endif --#ifdef RT2870 --#include "../../rt2870/common/firmware.h" --#endif --#endif --#ifdef RT30xx --#include "../../rt3070/firmware.h" --#endif -+#include <linux/firmware.h> -+#include <linux/crc-itu-t.h> - - UCHAR BIT8[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; - ULONG BIT32[] = {0x00000001, 0x00000002, 0x00000004, 0x00000008, -@@ -63,59 +53,6 @@ ULONG BIT32[] = {0x00000001, 0x00000002, 0x00000004, 0x00000008, - - char* CipherName[] = {"none","wep64","wep128","TKIP","AES","CKIP64","CKIP128"}; - --const unsigned short ccitt_16Table[] = { -- 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7, -- 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF, -- 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, -- 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE, -- 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, -- 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D, -- 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4, -- 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC, -- 0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823, -- 0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B, -- 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12, -- 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A, -- 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41, -- 0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49, -- 0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70, -- 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78, -- 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F, -- 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067, -- 0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E, -- 0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256, -- 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D, -- 0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, -- 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C, -- 0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634, -- 0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB, -- 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3, -- 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A, -- 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92, -- 0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9, -- 0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1, -- 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8, -- 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0 --}; --#define ByteCRC16(v, crc) \ -- (unsigned short)((crc << 8) ^ ccitt_16Table[((crc >> 8) ^ (v)) & 255]) -- --#ifdef RT2870 --unsigned char BitReverse(unsigned char x) --{ -- int i; -- unsigned char Temp=0; -- for(i=0; ; i++) -- { -- if(x & 0x80) Temp |= 0x80; -- if(i==7) break; -- x <<= 1; -- Temp >>= 1; -- } -- return Temp; --} --#endif -- - // - // BBP register initialization set - // -@@ -243,12 +180,14 @@ RTMP_REG_PAIR STAMACRegTable[] = { - // RT2870 Firmware Spec only used 1 oct for version expression - // - #define FIRMWARE_MINOR_VERSION 7 -- -+#define FW_FILENAME_V1 "rt2870.bin" -+#define FW_FILENAME_V2 "rt3071.bin" -+MODULE_FIRMWARE(FW_FILENAME_V1); -+MODULE_FIRMWARE(FW_FILENAME_V2); - #endif // RT2870 // - - // New 8k byte firmware size for RT3071/RT3072 - #define FIRMWAREIMAGE_MAX_LENGTH 0x2000 --#define FIRMWAREIMAGE_LENGTH (sizeof (FirmwareImage) / sizeof(UCHAR)) - #define FIRMWARE_MAJOR_VERSION 0 - - #define FIRMWAREIMAGEV1_LENGTH 0x1000 -@@ -256,6 +195,8 @@ RTMP_REG_PAIR STAMACRegTable[] = { - - #ifdef RT2860 - #define FIRMWARE_MINOR_VERSION 2 -+#define FW_FILENAME "rt2860.bin" -+MODULE_FIRMWARE(FW_FILENAME); - #endif - - -@@ -3314,45 +3255,67 @@ NDIS_STATUS NICLoadFirmware( - IN PRTMP_ADAPTER pAd) - { - NDIS_STATUS Status = NDIS_STATUS_SUCCESS; -- PUCHAR pFirmwareImage; - ULONG FileLength, Index; -- //ULONG firm; - UINT32 MacReg = 0; - #ifdef RT2870 - UINT32 Version = (pAd->MACVersion >> 16); - #endif // RT2870 // -+ struct device *dev; -+ const struct firmware *fw = NULL; -+ const char *name; -+ int err; - -- pFirmwareImage = FirmwareImage; -- FileLength = sizeof(FirmwareImage); -+#ifdef RT2860 -+ dev = &((POS_COOKIE)pAd->OS_Cookie)->pci_dev->dev; -+ name = FW_FILENAME; -+ FileLength = MAX_FIRMWARE_IMAGE_SIZE; -+#endif - #ifdef RT2870 -- // New 8k byte firmware size for RT3071/RT3072 -- //printk("Usb Chip\n"); -- if (FIRMWAREIMAGE_LENGTH == FIRMWAREIMAGE_MAX_LENGTH) -- //The firmware image consists of two parts. One is the origianl and the other is the new. -- //Use Second Part -- { -- if ((Version != 0x2860) && (Version != 0x2872) && (Version != 0x3070)) -- { // Use Firmware V2. -- //printk("KH:Use New Version,part2\n"); -- pFirmwareImage = (PUCHAR)&FirmwareImage[FIRMWAREIMAGEV1_LENGTH]; -- FileLength = FIRMWAREIMAGEV2_LENGTH; -- } -- else -- { -- //printk("KH:Use New Version,part1\n"); -- pFirmwareImage = FirmwareImage; -- FileLength = FIRMWAREIMAGEV1_LENGTH; -- } -+ dev = &((POS_COOKIE)pAd->OS_Cookie)->pUsb_Dev->dev; -+ if (Version == 0x2860 || Version == 0x2872 || Version == 0x3070) { -+ name = FW_FILENAME_V1; -+ FileLength = FIRMWAREIMAGEV1_LENGTH; -+ } else { -+ name = FW_FILENAME_V2; -+ FileLength = FIRMWAREIMAGEV2_LENGTH; - } -- else -- { -- DBGPRINT(RT_DEBUG_ERROR, ("KH: bin file should be 8KB.\n")); -- Status = NDIS_STATUS_FAILURE; -+#endif -+ -+ err = request_firmware(&fw, name, dev); -+ if (err) { -+ dev_err(dev, "firmware file %s request failed (%d)\n", -+ name, err); -+ goto fail; - } - --#endif // RT2870 // -+ if (fw->size != FileLength) { -+ dev_err(dev, "firmware file %s size is wrong\n", name); -+ goto fail; -+ } - -- RT28XX_WRITE_FIRMWARE(pAd, pFirmwareImage, FileLength); -+ /* is it new enough? */ -+ pAd->FirmwareVersion = (fw->data[fw->size - 4] << 8 | -+ fw->data[fw->size - 3]); -+ -+ if (pAd->FirmwareVersion < -+ (FIRMWARE_MAJOR_VERSION << 8 | FIRMWARE_MINOR_VERSION)) { -+ dev_err(dev, "rt28x0sta: firmware file %s is too old\n", -+ name); -+ goto fail; -+ } -+ -+ /* is the internal CRC correct? */ -+ if (crc_itu_t_bitreversed(0xffff, fw->data, fw->size - 2) != -+ (bitrev8(fw->data[fw->size - 2]) << 8 | -+ bitrev8(fw->data[fw->size - 1]))) { -+ /* CRC fail */ -+ dev_err(dev, "firmware file %s failed internal CRC\n", name); -+ goto fail; -+ } -+ -+ RT28XX_WRITE_FIRMWARE(pAd, fw->data, fw->size); -+ -+ release_firmware(fw); - - /* check if MCU is ready */ - Index = 0; -@@ -3372,9 +3335,15 @@ NDIS_STATUS NICLoadFirmware( - DBGPRINT(RT_DEBUG_ERROR, ("NICLoadFirmware: MCU is not ready\n\n\n")); - } /* End of if */ - -+out: - DBGPRINT(RT_DEBUG_TRACE, - ("<=== %s (status=%d)\n", __func__, Status)); - return Status; -+ -+fail: -+ release_firmware(fw); -+ Status = NDIS_STATUS_FAILURE; -+ goto out; - } /* End of NICLoadFirmware */ - - -diff --git a/drivers/staging/rt2870/Kconfig b/drivers/staging/rt2870/Kconfig -index cd4f0b6..59d533d 100644 ---- a/drivers/staging/rt2870/Kconfig -+++ b/drivers/staging/rt2870/Kconfig -@@ -1,7 +1,8 @@ - config RT2870 - tristate "Ralink 2870 wireless support" -- depends on BROKEN - depends on USB && X86 && WLAN_80211 -+ select CRC_ITU_T -+ select FW_LOADER - ---help--- - This is an experimental driver for the Ralink 2870 wireless chip. - -diff --git a/drivers/staging/rt3070/Kconfig b/drivers/staging/rt3070/Kconfig -index e414305..7242d5e 100644 ---- a/drivers/staging/rt3070/Kconfig -+++ b/drivers/staging/rt3070/Kconfig -@@ -1,7 +1,8 @@ - config RT3070 - tristate "Ralink 3070 wireless support" -- depends on BROKEN - depends on USB && X86 && WLAN_80211 -+ select CRC_ITU_T -+ select FW_LOADER - ---help--- - This is an experimental driver for the Ralink 3070 wireless chip. - --- -1.6.3.1 - diff --git a/patches/features/all/export-unionfs-symbols.patch b/patches/features/all/export-unionfs-symbols.patch deleted file mode 100644 index 29c7e45..0000000 --- a/patches/features/all/export-unionfs-symbols.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naurp linux-2.6.orig/fs/namei.c linux-2.6/fs/namei.c ---- linux-2.6.orig/fs/namei.c 2008-01-24 22:58:37.000000000 +0000 -+++ linux-2.6/fs/namei.c 2008-02-11 19:53:38.000000000 +0000 -@@ -389,6 +389,7 @@ void release_open_intent(struct nameidat - else - fput(nd->intent.open.file); - } -+EXPORT_SYMBOL_GPL(release_open_intent); - - static inline struct dentry * - do_revalidate(struct dentry *dentry, struct nameidata *nd) diff --git a/patches/features/all/i915-autoload-without-CONFIG_DRM_I915_KMS.patch b/patches/features/all/i915-autoload-without-CONFIG_DRM_I915_KMS.patch new file mode 100644 index 0000000..dc47804 --- /dev/null +++ b/patches/features/all/i915-autoload-without-CONFIG_DRM_I915_KMS.patch @@ -0,0 +1,12 @@ +--- a/drivers/gpu/drm/i915/i915_drv.c ++++ b/drivers/gpu/drm/i915/i915_drv.c +@@ -52,9 +52,7 @@ static struct pci_device_id pciidlist[] = { + {0, 0, 0} + }; + +-#if defined(CONFIG_DRM_I915_KMS) + MODULE_DEVICE_TABLE(pci, pciidlist); +-#endif + + static int i915_drm_freeze(struct drm_device *dev) + { diff --git a/patches/features/all/lgs8gxx-lgs8g75-request_firmware.patch b/patches/features/all/lgs8gxx-lgs8g75-request_firmware.patch new file mode 100644 index 0000000..6dd7892 --- /dev/null +++ b/patches/features/all/lgs8gxx-lgs8g75-request_firmware.patch @@ -0,0 +1,99 @@ +From 04a2710a7de7f20ceec7f30c9e56d01d20284b15 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Sun, 1 Nov 2009 02:12:10 +0000 +Subject: [PATCH 20/24] V4L/DVB: lgs8gxx: remove firmware for lgs8g75 + +The recently added support for lgs8g75 included some 8051 machine code +without accompanying source code. Replace this with use of the +firmware loader. + +Compile-tested only. +--- + drivers/media/dvb/frontends/Kconfig | 1 + + drivers/media/dvb/frontends/lgs8gxx.c | 23 ++++++++++------------- + 2 files changed, 11 insertions(+), 13 deletions(-) + +diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig +index d7c4837..26b00ab 100644 +--- a/drivers/media/dvb/frontends/Kconfig ++++ b/drivers/media/dvb/frontends/Kconfig +@@ -553,6 +553,7 @@ config DVB_LGS8GL5 + config DVB_LGS8GXX + tristate "Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator" + depends on DVB_CORE && I2C ++ select FW_LOADER + default m if DVB_FE_CUSTOMISE + help + A DMB-TH tuner module. Say Y when you want to support this frontend. +diff --git a/drivers/media/dvb/frontends/lgs8gxx.c b/drivers/media/dvb/frontends/lgs8gxx.c +index ba74df0..1bfcf85 100644 +--- a/drivers/media/dvb/frontends/lgs8gxx.c ++++ b/drivers/media/dvb/frontends/lgs8gxx.c +@@ -24,6 +24,7 @@ + */ + + #include <asm/div64.h> ++#include <linux/firmware.h> + + #include "dvb_frontend.h" + +@@ -589,12 +590,16 @@ static int lgs8913_init(struct lgs8gxx_state *priv) + return 0; + } + +-#ifdef CONFIG_BROKEN + static int lgs8g75_init_data(struct lgs8gxx_state *priv) + { +- const u8 *p = lgs8g75_initdat; ++ const struct firmware *fw; ++ int rc; + int i; + ++ rc = request_firmware(&fw, "lgs8g75.fw", &priv->i2c->dev); ++ if (rc) ++ return rc; ++ + lgs8gxx_write_reg(priv, 0xC6, 0x40); + + lgs8gxx_write_reg(priv, 0x3D, 0x04); +@@ -605,19 +610,18 @@ static int lgs8g75_init_data(struct lgs8gxx_state *priv) + lgs8gxx_write_reg(priv, 0x3B, 0x00); + lgs8gxx_write_reg(priv, 0x38, 0x00); + +- for (i = 0; i < sizeof(lgs8g75_initdat); i++) { ++ for (i = 0; i < fw->size; i++) { + lgs8gxx_write_reg(priv, 0x38, 0x00); + lgs8gxx_write_reg(priv, 0x3A, (u8)(i&0xff)); + lgs8gxx_write_reg(priv, 0x3B, (u8)(i>>8)); +- lgs8gxx_write_reg(priv, 0x3C, *p); +- p++; ++ lgs8gxx_write_reg(priv, 0x3C, fw->data[i]); + } + + lgs8gxx_write_reg(priv, 0x38, 0x00); + ++ release_firmware(fw); + return 0; + } +-#endif + + static int lgs8gxx_init(struct dvb_frontend *fe) + { +@@ -1055,14 +1059,7 @@ struct dvb_frontend *lgs8gxx_attach(const struct lgs8gxx_config *config, + priv->frontend.demodulator_priv = priv; + + if (config->prod == LGS8GXX_PROD_LGS8G75) +-#ifdef CONFIG_BROKEN + lgs8g75_init_data(priv); +-#else +- { +- dprintk("lgs8g75 firmware not available\n"); +- goto error_out; +- } +-#endif + + return &priv->frontend; + +-- +1.6.5.2 + diff --git a/patches/features/all/lib-crcitut-bit-reversed.patch b/patches/features/all/lib-crcitut-bit-reversed.patch deleted file mode 100644 index 358c0d8..0000000 --- a/patches/features/all/lib-crcitut-bit-reversed.patch +++ /dev/null @@ -1,79 +0,0 @@ -From c450dd0d27ff5cd7b83084e381e0cc808db2554e Mon Sep 17 00:00:00 2001 -From: Darren Salt <linux@youmustbejoking.demon.co.uk> -Date: Sat, 11 Apr 2009 15:40:04 +0100 -Subject: [PATCH] crc-itu-t: add bit-reversed calculation - -Signed-off-by: Darren Salt <linux@youmustbejoking.demon.co.uk> ---- - include/linux/crc-itu-t.h | 10 ++++++++++ - lib/crc-itu-t.c | 18 ++++++++++++++++++ - 2 files changed, 28 insertions(+), 0 deletions(-) - -diff --git a/include/linux/crc-itu-t.h b/include/linux/crc-itu-t.h -index 84920f3..7b2b7ba 100644 ---- a/include/linux/crc-itu-t.h -+++ b/include/linux/crc-itu-t.h -@@ -6,6 +6,9 @@ - * Poly 0x0x1021 (x^16 + x^12 + x^15 + 1) - * Init 0 - * -+ * The bit-reversed buffer variants may be non-standard, but some firmware -+ * loaders require them. -+ * - * This source code is licensed under the GNU General Public License, - * Version 2. See the file COPYING for more details. - */ -@@ -14,15 +17,22 @@ - #define CRC_ITU_T_H - - #include <linux/types.h> -+#include <linux/bitrev.h> - - extern u16 const crc_itu_t_table[256]; - - extern u16 crc_itu_t(u16 crc, const u8 *buffer, size_t len); -+extern u16 crc_itu_t_bitreversed(u16 crc, const u8 *buffer, size_t len); - - static inline u16 crc_itu_t_byte(u16 crc, const u8 data) - { - return (crc << 8) ^ crc_itu_t_table[((crc >> 8) ^ data) & 0xff]; - } - -+static inline u16 crc_itu_t_bitreversed_byte(u16 crc, const u8 data) -+{ -+ return (crc << 8) ^ crc_itu_t_table[((crc >> 8) ^ bitrev8(data)) & 0xff]; -+} -+ - #endif /* CRC_ITU_T_H */ - -diff --git a/lib/crc-itu-t.c b/lib/crc-itu-t.c -index a63472b..886981e 100644 ---- a/lib/crc-itu-t.c -+++ b/lib/crc-itu-t.c -@@ -64,6 +64,23 @@ u16 crc_itu_t(u16 crc, const u8 *buffer, size_t len) - } - EXPORT_SYMBOL(crc_itu_t); - -+/** -+ * crc_itu_t_bitreversed - Compute the CRC-ITU-T for a bit-reversed data buffer -+ * -+ * @crc: previous CRC value -+ * @buffer: data pointer -+ * @len: number of bytes in the buffer -+ * -+ * Returns the updated CRC value -+ */ -+u16 crc_itu_t_bitreversed(u16 crc, const u8 *buffer, size_t len) -+{ -+ while (len--) -+ crc = crc_itu_t_bitreversed_byte(crc, *buffer++); -+ return crc; -+} -+EXPORT_SYMBOL(crc_itu_t_bitreversed); -+ - MODULE_DESCRIPTION("CRC ITU-T V.41 calculations"); - MODULE_LICENSE("GPL"); - --- -1.5.6.5 - diff --git a/patches/features/all/module-firmware/0025-tty-declare-MODULE_FIRMWARE-in-various-drivers.patch b/patches/features/all/module-firmware/0025-tty-declare-MODULE_FIRMWARE-in-various-drivers.patch new file mode 100644 index 0000000..682aaa7 --- /dev/null +++ b/patches/features/all/module-firmware/0025-tty-declare-MODULE_FIRMWARE-in-various-drivers.patch @@ -0,0 +1,69 @@ +Based on: + +From: Ben Hutchings <ben@decadent.org.uk> +Subject: [PATCH] tty: declare MODULE_FIRMWARE in various drivers + +--- a/drivers/char/cyclades.c ++++ b/drivers/char/cyclades.c +@@ -4195,3 +4195,4 @@ module_exit(cy_cleanup_module); + MODULE_LICENSE("GPL"); + MODULE_VERSION(CY_VERSION); + MODULE_ALIAS_CHARDEV_MAJOR(CYCLADES_MAJOR); ++MODULE_FIRMWARE("cyzfirm.bin"); +--- a/drivers/char/ip2/ip2main.c ++++ b/drivers/char/ip2/ip2main.c +@@ -3196,3 +3196,5 @@ static struct pci_device_id ip2main_pci_tbl[] __devinitdata = { + }; + + MODULE_DEVICE_TABLE(pci, ip2main_pci_tbl); ++ ++MODULE_FIRMWARE("intelliport2.bin"); +--- a/drivers/char/isicom.c ++++ b/drivers/char/isicom.c +@@ -1720,3 +1720,8 @@ module_exit(isicom_exit); + MODULE_AUTHOR("MultiTech"); + MODULE_DESCRIPTION("Driver for the ISI series of cards by MultiTech"); + MODULE_LICENSE("GPL"); ++MODULE_FIRMWARE("isi608.bin"); ++MODULE_FIRMWARE("isi608em.bin"); ++MODULE_FIRMWARE("isi616em.bin"); ++MODULE_FIRMWARE("isi4608.bin"); ++MODULE_FIRMWARE("isi4616.bin"); +--- a/drivers/char/moxa.c ++++ b/drivers/char/moxa.c +@@ -172,6 +172,9 @@ static unsigned int numports[MAX_BOARDS]; + MODULE_AUTHOR("William Chen"); + MODULE_DESCRIPTION("MOXA Intellio Family Multiport Board Device Driver"); + MODULE_LICENSE("GPL"); ++MODULE_FIRMWARE("c218tunx.cod"); ++MODULE_FIRMWARE("cp204unx.cod"); ++MODULE_FIRMWARE("c320tunx.cod"); + #ifdef MODULE + module_param_array(type, uint, NULL, 0); + MODULE_PARM_DESC(type, "card type: C218=2, C320=4"); +--- a/drivers/serial/icom.c ++++ b/drivers/serial/icom.c +@@ -1654,4 +1654,6 @@ MODULE_DESCRIPTION("IBM iSeries Serial IOA driver"); + MODULE_SUPPORTED_DEVICE + ("IBM iSeries 2745, 2771, 2772, 2742, 2793 and 2805 Communications adapters"); + MODULE_LICENSE("GPL"); +- ++MODULE_FIRMWARE("icom_call_setup.bin"); ++MODULE_FIRMWARE("icom_res_dce.bin"); ++MODULE_FIRMWARE("icom_asc.bin"); +--- a/drivers/usb/serial/keyspan_pda.c ++++ b/drivers/usb/serial/keyspan_pda.c +@@ -789,6 +789,13 @@ static int keyspan_pda_fake_startup(struct usb_serial *serial) + return 1; + } + ++#ifdef KEYSPAN ++MODULE_FIRMWARE("keyspan_pda/keyspan_pda.fw"); ++#endif ++#ifdef XIRCOM ++MODULE_FIRMWARE("keyspan_pda/xircom_pgs.fw"); ++#endif ++ + static int keyspan_pda_startup(struct usb_serial *serial) + { + diff --git a/patches/features/all/module-firmware/0026-staging-declare-MODULE_FIRMWARE-in-various-drivers.patch b/patches/features/all/module-firmware/0026-staging-declare-MODULE_FIRMWARE-in-various-drivers.patch new file mode 100644 index 0000000..4f42303 --- /dev/null +++ b/patches/features/all/module-firmware/0026-staging-declare-MODULE_FIRMWARE-in-various-drivers.patch @@ -0,0 +1,97 @@ +Based on: + +From: Ben Hutchings <ben@decadent.org.uk> +Subject: [PATCH] staging: declare MODULE_FIRMWARE in various drivers + +--- a/drivers/staging/comedi/drivers/jr3_pci.c ++++ b/drivers/staging/comedi/drivers/jr3_pci.c +@@ -954,6 +954,8 @@ out: + return result; + } + ++MODULE_FIRMWARE("comedi/jr3pci.idm"); ++ + static int jr3_pci_detach(struct comedi_device *dev) + { + int i; +--- a/drivers/staging/go7007/go7007-driver.c ++++ b/drivers/staging/go7007/go7007-driver.c +@@ -128,6 +128,8 @@ static int go7007_load_encoder(struct go7007 *go) + return rv; + } + ++MODULE_FIRMWARE("go7007fw.bin"); ++ + /* + * Boot the encoder and register the I2C adapter if requested. Do the + * minimum initialization necessary, since the board-specific code may +--- a/drivers/staging/go7007/go7007-usb.c ++++ b/drivers/staging/go7007/go7007-usb.c +@@ -444,6 +444,8 @@ static struct go7007_usb_board board_sensoray_2250 = { + }, + }; + ++MODULE_FIRMWARE("go7007tv.bin"); ++ + static struct usb_device_id go7007_usb_id_table[] = { + { + .match_flags = USB_DEVICE_ID_MATCH_DEVICE_AND_VERSION | +--- a/drivers/staging/go7007/saa7134-go7007.c ++++ b/drivers/staging/go7007/saa7134-go7007.c +@@ -84,6 +84,7 @@ static struct go7007_board_info board_voyager = { + }, + }, + }; ++MODULE_FIRMWARE("go7007tv.bin"); + + /********************* Driver for GPIO HPI interface *********************/ + +--- a/drivers/staging/rtl8192e/r819xE_firmware.c ++++ b/drivers/staging/rtl8192e/r819xE_firmware.c +@@ -365,3 +365,7 @@ download_firmware_fail: + return rt_status; + + } ++ ++MODULE_FIRMWARE("RTL8192E/boot.img"); ++MODULE_FIRMWARE("RTL8192E/main.img"); ++MODULE_FIRMWARE("RTL8192E/data.img"); +--- a/drivers/staging/rtl8192su/r8192S_firmware.c ++++ b/drivers/staging/rtl8192su/r8192S_firmware.c +@@ -538,3 +538,4 @@ bool FirmwareDownload92S(struct net_device *dev) + return rtStatus; + } + ++MODULE_FIRMWARE("RTL8192SU/rtl8192sfw.bin"); +--- a/drivers/staging/slicoss/slicoss.c ++++ b/drivers/staging/slicoss/slicoss.c +@@ -1866,6 +1866,9 @@ static int slic_card_download_gbrcv(struct adapter *adapter) + return 0; + } + ++MODULE_FIRMWARE("slicoss/oasisrcvucode.sys"); ++MODULE_FIRMWARE("slicoss/gbrcvucode.sys"); ++ + static int slic_card_download(struct adapter *adapter) + { + const struct firmware *fw; +@@ -1977,6 +1980,9 @@ static int slic_card_download(struct adapter *adapter) + return STATUS_SUCCESS; + } + ++MODULE_FIRMWARE("slicoss/oasisdownload.sys"); ++MODULE_FIRMWARE("slicoss/gbdownload.sys"); ++ + static void slic_adapter_set_hwaddr(struct adapter *adapter) + { + struct sliccard *card = adapter->card; +--- a/drivers/staging/wlan-ng/prism2fw.c ++++ b/drivers/staging/wlan-ng/prism2fw.c +@@ -53,6 +53,7 @@ + /* Local Constants */ + + #define PRISM2_USB_FWFILE "prism2_ru.fw" ++MODULE_FIRMWARE(PRISM2_USB_FWFILE); + + #define S3DATA_MAX 5000 + #define S3PLUG_MAX 200 diff --git a/patches/features/all/module-firmware/0027-sep-include-driver-name-in-firmware-filenames.patch b/patches/features/all/module-firmware/0027-sep-include-driver-name-in-firmware-filenames.patch new file mode 100644 index 0000000..789841e --- /dev/null +++ b/patches/features/all/module-firmware/0027-sep-include-driver-name-in-firmware-filenames.patch @@ -0,0 +1,29 @@ +From 9210aeb3bd3ad862f2063b7128ba4b33799b4092 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Sat, 7 Nov 2009 20:09:26 +0000 +Subject: [PATCH] sep: include driver name in firmware filenames + +The current names "cache.image.bin" and "resident.image.bin" are far +too generic. +--- + drivers/staging/sep/sep_driver.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/staging/sep/sep_driver.c b/drivers/staging/sep/sep_driver.c +index e7bc9ec..6b763b7 100644 +--- a/drivers/staging/sep/sep_driver.c ++++ b/drivers/staging/sep/sep_driver.c +@@ -182,8 +182,8 @@ static DECLARE_WAIT_QUEUE_HEAD(sep_event); + static int sep_load_firmware(struct sep_device *sep) + { + const struct firmware *fw; +- char *cache_name = "cache.image.bin"; +- char *res_name = "resident.image.bin"; ++ char *cache_name = "sep/cache.image.bin"; ++ char *res_name = "sep/resident.image.bin"; + int error; + + edbg("SEP Driver:rar_virtual is %p\n", sep->rar_addr); +-- +1.6.6 + diff --git a/patches/features/all/module-firmware/0028-sep-declare-MODULE_FIRMWARE.patch b/patches/features/all/module-firmware/0028-sep-declare-MODULE_FIRMWARE.patch new file mode 100644 index 0000000..4c06ba3 --- /dev/null +++ b/patches/features/all/module-firmware/0028-sep-declare-MODULE_FIRMWARE.patch @@ -0,0 +1,26 @@ +From 94820c94108bf46801939d3e342e9a07a81da64e Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Sat, 7 Nov 2009 20:10:23 +0000 +Subject: [PATCH] sep: declare MODULE_FIRMWARE + +--- + drivers/staging/sep/sep_driver.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/drivers/staging/sep/sep_driver.c b/drivers/staging/sep/sep_driver.c +index 6b763b7..916a9c1 100644 +--- a/drivers/staging/sep/sep_driver.c ++++ b/drivers/staging/sep/sep_driver.c +@@ -222,6 +222,9 @@ static int sep_load_firmware(struct sep_device *sep) + return 0; + } + ++MODULE_FIRMWARE("sep/cache.image.bin"); ++MODULE_FIRMWARE("sep/resident.image.bin"); ++ + /** + * sep_map_and_alloc_shared_area - allocate shared block + * @sep: security processor +-- +1.6.6 + diff --git a/patches/features/all/module-firmware/0029-isight-firmware-declare-MODULE_FIRMWARE.patch b/patches/features/all/module-firmware/0029-isight-firmware-declare-MODULE_FIRMWARE.patch new file mode 100644 index 0000000..548c290 --- /dev/null +++ b/patches/features/all/module-firmware/0029-isight-firmware-declare-MODULE_FIRMWARE.patch @@ -0,0 +1,25 @@ +From 34e37eaacc94a27d50151d1ab4fae67f1c3ffda5 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Sat, 7 Nov 2009 20:21:37 +0000 +Subject: [PATCH] isight-firmware: declare MODULE_FIRMWARE + +--- + drivers/usb/misc/isight_firmware.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/drivers/usb/misc/isight_firmware.c b/drivers/usb/misc/isight_firmware.c +index b897f65..1a88e27 100644 +--- a/drivers/usb/misc/isight_firmware.c ++++ b/drivers/usb/misc/isight_firmware.c +@@ -112,6 +112,8 @@ out: + return ret; + } + ++MODULE_FIRMWARE("isight.fw"); ++ + static void isight_firmware_disconnect(struct usb_interface *intf) + { + } +-- +1.6.6 + diff --git a/patches/features/all/r8169-rtl8168d-1-2-request_firmware-2.patch b/patches/features/all/r8169-rtl8168d-1-2-request_firmware-2.patch new file mode 100644 index 0000000..3926b4a --- /dev/null +++ b/patches/features/all/r8169-rtl8168d-1-2-request_firmware-2.patch @@ -0,0 +1,135 @@ +From: Ben Hutchings <ben@decadent.org.uk> +Subject: [PATCH] r8169: remove firmware for RTL8169D PHY + +The recently added support for RTL8169D chips included some machine +code without accompanying source code. Replace this with use of the +firmware loader. + +--- a/drivers/net/Kconfig ++++ b/drivers/net/Kconfig +@@ -2172,6 +2172,7 @@ config R8169 + depends on PCI + select CRC32 + select MII ++ select FW_LOADER + ---help--- + Say Y here if you have a Realtek 8169 PCI Gigabit Ethernet adapter. + +--- a/drivers/net/r8169.c ++++ b/drivers/net/r8169.c +@@ -23,6 +23,7 @@ + #include <linux/tcp.h> + #include <linux/init.h> + #include <linux/dma-mapping.h> ++#include <linux/firmware.h> + + #include <asm/system.h> + #include <asm/io.h> +@@ -1359,6 +1360,23 @@ static void rtl_phy_write(void __iomem *ioaddr, struct phy_reg *regs, int len) + } + } + ++struct phy_reg_le { ++ __le16 reg; ++ __le16 val; ++}; ++ ++static void rtl_phy_write_fw(void __iomem *ioaddr, const struct firmware *fw) ++{ ++ const struct phy_reg_le *regs = (const struct phy_reg_le *)fw->data; ++ size_t len = fw->size / sizeof(*regs); ++ ++ while (len-- > 0) { ++ mdio_write(ioaddr, le16_to_cpu(regs->reg), ++ le16_to_cpu(regs->val)); ++ regs++; ++ } ++} ++ + static void rtl8169s_hw_phy_config(void __iomem *ioaddr) + { + static const struct phy_reg phy_reg_init[] = { +@@ -1691,7 +1709,7 @@ static void rtl8168c_4_hw_phy_config(void __iomem *ioaddr) + rtl8168c_3_hw_phy_config(ioaddr); + } + +-static void rtl8168d_1_hw_phy_config(void __iomem *ioaddr) ++static void rtl8168d_1_hw_phy_config(struct rtl8169_private *tp) + { + static const struct phy_reg phy_reg_init_0[] = { + { 0x1f, 0x0001 }, +@@ -1719,6 +1737,8 @@ static void rtl8168d_1_hw_phy_config(void __iomem *ioaddr) + { 0x05, 0x8332 }, + { 0x06, 0x5561 } + }; ++ void __iomem *ioaddr = tp->mmio_addr; ++ const struct firmware *fw; + + rtl_phy_write(ioaddr, phy_reg_init_0, ARRAY_SIZE(phy_reg_init_0)); + +@@ -1776,12 +1801,18 @@ static void rtl8168d_1_hw_phy_config(void __iomem *ioaddr) + mdio_plus_minus(ioaddr, 0x02, 0x0100, 0x0600); + mdio_plus_minus(ioaddr, 0x03, 0x0000, 0xe000); + +-#ifdef CONFIG_BROKEN +- rtl_phy_write(ioaddr, phy_reg_init_2, ARRAY_SIZE(phy_reg_init_2)); +-#endif ++ if (request_firmware(&fw, "rtl8168d-1.fw", &tp->pci_dev->dev) == 0) { ++ rtl_phy_write_fw(ioaddr, fw); ++ release_firmware(fw); ++ } else { ++ printk(KERN_WARNING "%s: unable to apply firmware patch\n", ++ tp->dev->name); ++ } + } + +-static void rtl8168d_2_hw_phy_config(void __iomem *ioaddr) ++MODULE_FIRMWARE("rtl8168d-1.fw"); ++ ++static void rtl8168d_2_hw_phy_config(struct rtl8169_private *tp) + { + static const struct phy_reg phy_reg_init_0[] = { + { 0x1f, 0x0001 }, +@@ -1808,6 +1836,8 @@ static void rtl8168d_2_hw_phy_config(void __iomem *ioaddr) + { 0x05, 0x8332 }, + { 0x06, 0x5561 } + }; ++ void __iomem *ioaddr = tp->mmio_addr; ++ const struct firmware *fw; + + rtl_phy_write(ioaddr, phy_reg_init_0, ARRAY_SIZE(phy_reg_init_0)); + +@@ -1861,11 +1896,17 @@ static void rtl8168d_2_hw_phy_config(void __iomem *ioaddr) + mdio_write(ioaddr, 0x1f, 0x0002); + mdio_patch(ioaddr, 0x0f, 0x0017); + +-#ifdef CONFIG_BROKEN +- rtl_phy_write(ioaddr, phy_reg_init_1, ARRAY_SIZE(phy_reg_init_1)); +-#endif ++ if (request_firmware(&fw, "rtl8168d-2.fw", &tp->pci_dev->dev) == 0) { ++ rtl_phy_write_fw(ioaddr, fw); ++ release_firmware(fw); ++ } else { ++ printk(KERN_WARNING "%s: unable to apply firmware patch\n", ++ tp->dev->name); ++ } + } + ++MODULE_FIRMWARE("rtl8168d-2.fw"); ++ + static void rtl8168d_3_hw_phy_config(void __iomem *ioaddr) + { + static const struct phy_reg phy_reg_init[] = { +@@ -2001,10 +2039,10 @@ static int rtl_hw_phy_config(struct net_device *dev) + rtl8168cp_2_hw_phy_config(ioaddr); + break; + case RTL_GIGA_MAC_VER_25: +- rtl8168d_1_hw_phy_config(ioaddr); ++ rtl8168d_1_hw_phy_config(tp); + break; + case RTL_GIGA_MAC_VER_26: +- rtl8168d_2_hw_phy_config(ioaddr); ++ rtl8168d_2_hw_phy_config(tp); + break; + case RTL_GIGA_MAC_VER_27: + rtl8168d_3_hw_phy_config(ioaddr); diff --git a/patches/features/all/rt28x0sta-constify-RTUSBMultiWrite-RTUSBFirmwareWrite.patch b/patches/features/all/rt28x0sta-constify-RTUSBMultiWrite-RTUSBFirmwareWrite.patch new file mode 100644 index 0000000..1ff6caf --- /dev/null +++ b/patches/features/all/rt28x0sta-constify-RTUSBMultiWrite-RTUSBFirmwareWrite.patch @@ -0,0 +1,87 @@ +From fb9c62c3bbf88aa3a3c9bb0c9feb26740eb29ddf Mon Sep 17 00:00:00 2001 +From: Ben Hutchings <ben@decadent.org.uk> +Date: Mon, 18 Jan 2010 02:50:24 +0000 +Subject: [PATCH] Staging: rt2870sta: constify RTUSBMultiWrite(), RTUSBFirmwareWrite() + +These functions do not modify the data they are passed. + +Signed-off-by: Ben Hutchings <ben@decadent.org.uk> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> +--- + drivers/staging/rt2860/rtmp.h | 6 +++--- + drivers/staging/rt2870/common/rtusb_io.c | 10 +++++----- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/drivers/staging/rt2860/rtmp.h b/drivers/staging/rt2860/rtmp.h +index c50abf4..6c6503d 100644 +--- a/drivers/staging/rt2860/rtmp.h ++++ b/drivers/staging/rt2860/rtmp.h +@@ -4043,10 +4043,10 @@ int RTUSBMultiRead(struct rt_rtmp_adapter *pAd, + u16 Offset, u8 *pData, u16 length); + + int RTUSBMultiWrite(struct rt_rtmp_adapter *pAd, +- u16 Offset, u8 *pData, u16 length); ++ u16 Offset, const u8 *pData, u16 length); + + int RTUSBMultiWrite_OneByte(struct rt_rtmp_adapter *pAd, +- u16 Offset, u8 *pData); ++ u16 Offset, const u8 *pData); + + int RTUSBReadBBPRegister(struct rt_rtmp_adapter *pAd, + u8 Id, u8 *pValue); +@@ -4112,7 +4112,7 @@ int RTUSBSingleWrite(struct rt_rtmp_adapter *pAd, + u16 Offset, u16 Value); + + int RTUSBFirmwareWrite(struct rt_rtmp_adapter *pAd, +- u8 *pFwImage, unsigned long FwLen); ++ const u8 *pFwImage, unsigned long FwLen); + + int RTUSBVenderReset(struct rt_rtmp_adapter *pAd); + +diff --git a/drivers/staging/rt2870/common/rtusb_io.c b/drivers/staging/rt2870/common/rtusb_io.c +index 34443f2..cf0d2f5 100644 +--- a/drivers/staging/rt2870/common/rtusb_io.c ++++ b/drivers/staging/rt2870/common/rtusb_io.c +@@ -84,7 +84,7 @@ static int RTUSBFirmwareRun(struct rt_rtmp_adapter *pAd) + ======================================================================== + */ + int RTUSBFirmwareWrite(struct rt_rtmp_adapter *pAd, +- u8 *pFwImage, unsigned long FwLen) ++ const u8 *pFwImage, unsigned long FwLen) + { + u32 MacReg; + int Status; +@@ -167,7 +167,7 @@ int RTUSBMultiRead(struct rt_rtmp_adapter *pAd, + ======================================================================== + */ + int RTUSBMultiWrite_OneByte(struct rt_rtmp_adapter *pAd, +- u16 Offset, u8 *pData) ++ u16 Offset, const u8 *pData) + { + int Status; + +@@ -175,18 +175,18 @@ int RTUSBMultiWrite_OneByte(struct rt_rtmp_adapter *pAd, + Status = RTUSB_VendorRequest(pAd, + USBD_TRANSFER_DIRECTION_OUT, + DEVICE_VENDOR_REQUEST_OUT, +- 0x6, 0, Offset, pData, 1); ++ 0x6, 0, Offset, (u8 *)pData, 1); + + return Status; + } + + int RTUSBMultiWrite(struct rt_rtmp_adapter *pAd, +- u16 Offset, u8 *pData, u16 length) ++ u16 Offset, const u8 *pData, u16 length) + { + int Status; + + u16 index = 0, Value; +- u8 *pSrc = pData; ++ const u8 *pSrc = pData; + u16 resude = 0; + + resude = length % 2; +-- +1.6.6.2 + diff --git a/patches/features/all/rt28x0sta-use-request_firmware.patch b/patches/features/all/rt28x0sta-use-request_firmware.patch new file mode 100644 index 0000000..6c7ef5c --- /dev/null +++ b/patches/features/all/rt28x0sta-use-request_firmware.patch @@ -0,0 +1,260 @@ +From: Ben Hutchings <ben@decadent.org.uk> +Subject: [PATCH] Staging: rt{2860,2870}sta: Use request_firmware() to load firmware + +When originally introduced into staging, these drivers had custom +firmware-loading code which checked a version number and CRC at the +end of each blob. This reintroduces those checks, using crc-ccitt +instead of custom code. + +The removed firmware will be added to the linux-firmware.git +repository. + +Based on work by Darren Salt <linux@youmustbejoking.demon.co.uk>. + +--- a/drivers/staging/rt2860/Kconfig ++++ b/drivers/staging/rt2860/Kconfig +@@ -3,6 +3,8 @@ config RT2860 + depends on PCI && X86 && WLAN + select WIRELESS_EXT + select WEXT_PRIV ++ select CRC_CCITT ++ select FW_LOADER + ---help--- + This is an experimental driver for the Ralink 2860 and 3090 + wireless chips. +--- a/drivers/staging/rt2860/common/rtmp_mcu.c ++++ b/drivers/staging/rt2860/common/rtmp_mcu.c +@@ -37,35 +37,38 @@ + + #include "../rt_config.h" + +-#if defined(RT2860) || defined(RT3090) +-#include "firmware.h" +-#include "../../rt3090/firmware.h" +-#endif +-#ifdef RT2870 +-#include "../../rt3070/firmware.h" +-#include "firmware_3070.h" +-#endif +- +-#include <linux/bitrev.h> ++#include <linux/crc-ccitt.h> ++#include <linux/firmware.h> + + #ifdef RTMP_MAC_USB +-/* */ +-/* RT2870 Firmware Spec only used 1 oct for version expression */ +-/* */ +-#define FIRMWARE_MINOR_VERSION 7 +-#endif /* RTMP_MAC_USB // */ + +-/* New 8k byte firmware size for RT3071/RT3072 */ +-#define FIRMWAREIMAGE_MAX_LENGTH 0x2000 +-#define FIRMWAREIMAGE_LENGTH (sizeof (FirmwareImage) / sizeof(u8)) +-#define FIRMWARE_MAJOR_VERSION 0 ++#define FIRMWAREIMAGE_LENGTH 0x1000 + +-#define FIRMWAREIMAGEV1_LENGTH 0x1000 +-#define FIRMWAREIMAGEV2_LENGTH 0x1000 ++#define FIRMWARE_2870_MIN_VERSION 12 ++#define FIRMWARE_2870_FILENAME "rt2870.bin" ++MODULE_FIRMWARE(FIRMWARE_2870_FILENAME); + +-#ifdef RTMP_MAC_PCI +-#define FIRMWARE_MINOR_VERSION 2 +-#endif /* RTMP_MAC_PCI // */ ++#define FIRMWARE_3070_MIN_VERSION 17 ++#define FIRMWARE_3070_FILENAME "rt3070.bin" ++MODULE_FIRMWARE(FIRMWARE_3070_FILENAME); ++ ++#define FIRMWARE_3071_MIN_VERSION 17 ++#define FIRMWARE_3071_FILENAME "rt3071.bin" /* for RT3071/RT3072 */ ++MODULE_FIRMWARE(FIRMWARE_3071_FILENAME); ++ ++#else /* RTMP_MAC_PCI */ ++ ++#define FIRMWAREIMAGE_LENGTH 0x2000 ++ ++#define FIRMWARE_2860_MIN_VERSION 11 ++#define FIRMWARE_2860_FILENAME "rt2860.bin" ++MODULE_FIRMWARE(FIRMWARE_2860_FILENAME); ++ ++#define FIRMWARE_3090_MIN_VERSION 19 ++#define FIRMWARE_3090_FILENAME "rt3090.bin" /* for RT3090/RT3390 */ ++MODULE_FIRMWARE(FIRMWARE_3090_FILENAME); ++ ++#endif + + /* + ======================================================================== +@@ -90,6 +93,78 @@ int RtmpAsicEraseFirmware(struct rt_rtmp_adapter *pAd) + return 0; + } + ++static const struct firmware *rtmp_get_firmware(struct rt_rtmp_adapter *adapter) ++{ ++ const char *name; ++ const struct firmware *fw = NULL; ++ u8 min_version; ++ struct device *dev; ++ int err; ++ ++ if (adapter->firmware) ++ return adapter->firmware; ++ ++#ifdef RTMP_MAC_USB ++ if (IS_RT3071(adapter)) { ++ name = FIRMWARE_3071_FILENAME; ++ min_version = FIRMWARE_3071_MIN_VERSION; ++ } else if (IS_RT3070(adapter)) { ++ name = FIRMWARE_3070_FILENAME; ++ min_version = FIRMWARE_3070_MIN_VERSION; ++ } else { ++ name = FIRMWARE_2870_FILENAME; ++ min_version = FIRMWARE_2870_MIN_VERSION; ++ } ++ dev = &((struct os_cookie *)adapter->OS_Cookie)->pUsb_Dev->dev; ++#else /* RTMP_MAC_PCI */ ++ if (IS_RT3090(adapter) || IS_RT3390(adapter)) { ++ name = FIRMWARE_3090_FILENAME; ++ min_version = FIRMWARE_3090_MIN_VERSION; ++ } else { ++ name = FIRMWARE_2860_FILENAME; ++ min_version = FIRMWARE_2860_MIN_VERSION; ++ } ++ dev = &((struct os_cookie *)adapter->OS_Cookie)->pci_dev->dev; ++#endif ++ ++ err = request_firmware(&fw, name, dev); ++ if (err) { ++ dev_err(dev, "firmware file %s request failed (%d)\n", ++ name, err); ++ return NULL; ++ } ++ ++ if (fw->size < FIRMWAREIMAGE_LENGTH) { ++ dev_err(dev, "firmware file %s size is invalid\n", name); ++ goto invalid; ++ } ++ ++ /* is it new enough? */ ++ adapter->FirmwareVersion = fw->data[FIRMWAREIMAGE_LENGTH - 3]; ++ if (adapter->FirmwareVersion < min_version) { ++ dev_err(dev, ++ "firmware file %s is too old;" ++ " driver requires v%d or later\n", ++ name, min_version); ++ goto invalid; ++ } ++ ++ /* is the internal CRC correct? */ ++ if (crc_ccitt(0xffff, fw->data, FIRMWAREIMAGE_LENGTH - 2) != ++ (fw->data[FIRMWAREIMAGE_LENGTH - 2] | ++ (fw->data[FIRMWAREIMAGE_LENGTH - 1] << 8))) { ++ dev_err(dev, "firmware file %s failed internal CRC\n", name); ++ goto invalid; ++ } ++ ++ adapter->firmware = fw; ++ return fw; ++ ++invalid: ++ release_firmware(fw); ++ return NULL; ++} ++ + /* + ======================================================================== + +@@ -109,46 +184,16 @@ int RtmpAsicEraseFirmware(struct rt_rtmp_adapter *pAd) + */ + int RtmpAsicLoadFirmware(struct rt_rtmp_adapter *pAd) + { +- ++ const struct firmware *fw; + int Status = NDIS_STATUS_SUCCESS; +- u8 *pFirmwareImage = NULL; +- unsigned long FileLength, Index; ++ unsigned long Index; + u32 MacReg = 0; +-#ifdef RTMP_MAC_USB +- u32 Version = (pAd->MACVersion >> 16); +-#endif + +- /* New 8k byte firmware size for RT3071/RT3072 */ +- { +-#ifdef RTMP_MAC_PCI +- if (IS_RT3090(pAd) || IS_RT3390(pAd)) { +- pFirmwareImage = FirmwareImage_3090; +- FileLength = FIRMWAREIMAGE_MAX_LENGTH; +- } else { +- pFirmwareImage = FirmwareImage_2860; +- FileLength = FIRMWAREIMAGE_MAX_LENGTH; +- } +-#endif /* RTMP_MAC_PCI // */ +-#ifdef RTMP_MAC_USB +- /* the firmware image consists of two parts */ +- if ((Version != 0x2860) && (Version != 0x2872) && (Version != 0x3070)) { /* use the second part */ +- /*printk("KH:Use New Version,part2\n"); */ +- pFirmwareImage = +- (u8 *)& +- FirmwareImage_3070[FIRMWAREIMAGEV1_LENGTH]; +- FileLength = FIRMWAREIMAGEV2_LENGTH; +- } else { +- /*printk("KH:Use New Version,part1\n"); */ +- if (Version == 0x3070) +- pFirmwareImage = FirmwareImage_3070; +- else +- pFirmwareImage = FirmwareImage_2870; +- FileLength = FIRMWAREIMAGEV1_LENGTH; +- } +-#endif /* RTMP_MAC_USB // */ +- } ++ fw = rtmp_get_firmware(pAd); ++ if (!fw) ++ return NDIS_STATUS_FAILURE; + +- RTMP_WRITE_FIRMWARE(pAd, pFirmwareImage, FileLength); ++ RTMP_WRITE_FIRMWARE(pAd, fw->data, FIRMWAREIMAGE_LENGTH); + + /* check if MCU is ready */ + Index = 0; +--- a/drivers/staging/rt2860/rt_linux.c ++++ b/drivers/staging/rt2860/rt_linux.c +@@ -25,6 +25,7 @@ + ************************************************************************* + */ + ++#include <linux/firmware.h> + #include <linux/sched.h> + #include "rt_config.h" + +@@ -260,6 +261,8 @@ void RTMPFreeAdapter(struct rt_rtmp_adapter *pAd) + + NdisFreeSpinLock(&pAd->irq_lock); + ++ release_firmware(pAd->firmware); ++ + vfree(pAd); /* pci_free_consistent(os_cookie->pci_dev,sizeof(struct rt_rtmp_adapter),pAd,os_cookie->pAd_pa); */ + if (os_cookie) + kfree(os_cookie); +--- a/drivers/staging/rt2860/rtmp.h ++++ b/drivers/staging/rt2860/rtmp.h +@@ -1719,6 +1719,7 @@ struct rt_rtmp_adapter { + void *OS_Cookie; /* save specific structure relative to OS */ + struct net_device *net_dev; + unsigned long VirtualIfCnt; ++ const struct firmware *firmware; + + struct rt_rtmp_chip_op chipOps; + u16 ThisTbttNumToNextWakeUp; +--- a/drivers/staging/rt2870/Kconfig ++++ b/drivers/staging/rt2870/Kconfig +@@ -3,5 +3,7 @@ config RT2870 + depends on USB && X86 && WLAN + select WIRELESS_EXT + select WEXT_PRIV ++ select CRC_CCITT ++ select FW_LOADER + ---help--- + This is an experimental driver for the Ralink xx70 wireless chips. diff --git a/patches/features/all/sound-pci-cs46xx-request_firmware.patch b/patches/features/all/sound-pci-cs46xx-request_firmware.patch new file mode 100644 index 0000000..5e2e5f5 --- /dev/null +++ b/patches/features/all/sound-pci-cs46xx-request_firmware.patch @@ -0,0 +1,172 @@ +From: Ben Hutchings <ben@decadent.org.uk> +Subject: cs46xx: Use request_firmware() for old DSP code + +Based on work by Kalle Olavi Niemitalo <kon@iki.fi>. + +Tested by Antonio Ospite <ospite@studenti.unina.it>. +Unfortunately we cannot currently distribute the firmware. + +diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig +index 17e03b9..124b3a0 100644 +--- a/sound/pci/Kconfig ++++ b/sound/pci/Kconfig +@@ -229,7 +229,7 @@ config SND_CS4281 + + config SND_CS46XX + tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x" +- depends on BROKEN ++ select FW_LOADER + select SND_RAWMIDI + select SND_AC97_CODEC + help +@@ -241,6 +241,7 @@ config SND_CS46XX + + config SND_CS46XX_NEW_DSP + bool "Cirrus Logic (Sound Fusion) New DSP support" ++ depends on BROKEN + depends on SND_CS46XX + default y + help +diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c +index 1be96ea..b12b930 100644 +--- a/sound/pci/cs46xx/cs46xx_lib.c ++++ b/sound/pci/cs46xx/cs46xx_lib.c +@@ -53,6 +53,7 @@ + #include <linux/slab.h> + #include <linux/gameport.h> + #include <linux/mutex.h> ++#include <linux/firmware.h> + + + #include <sound/core.h> +@@ -308,7 +309,7 @@ static void snd_cs46xx_ac97_write(struct snd_ac97 *ac97, + */ + + int snd_cs46xx_download(struct snd_cs46xx *chip, +- u32 *src, ++ const __le32 *src, + unsigned long offset, + unsigned long len) + { +@@ -321,9 +322,9 @@ int snd_cs46xx_download(struct snd_cs46xx *chip, + dst = chip->region.idx[bank+1].remap_addr + offset; + len /= sizeof(u32); + +- /* writel already converts 32-bit value to right endianess */ + while (len-- > 0) { +- writel(*src++, dst); ++ __raw_writel((__force u32)*src++, dst); ++ mmiowb(); + dst += sizeof(u32); + } + return 0; +@@ -360,23 +361,77 @@ int snd_cs46xx_clear_BA1(struct snd_cs46xx *chip, + + #else /* old DSP image */ + +-#include "cs46xx_image.h" ++struct cs46xx_old_image { ++ __le32 size[BA1_MEMORY_COUNT]; ++ __le32 data[0]; ++}; + +-int snd_cs46xx_download_image(struct snd_cs46xx *chip) ++static int snd_cs46xx_check_image_size(const struct firmware *firmware) + { +- int idx, err; +- unsigned long offset = 0; ++ const struct cs46xx_old_image *image = ++ (const struct cs46xx_old_image *)firmware->data; ++ size_t offset = sizeof(*image); ++ int idx; ++ ++ if (firmware->size < offset) { ++ snd_printk(KERN_ERR "cs46xx: firmware too small\n"); ++ return -EINVAL; ++ } + + for (idx = 0; idx < BA1_MEMORY_COUNT; idx++) { +- if ((err = snd_cs46xx_download(chip, +- &BA1Struct.map[offset], +- BA1Struct.memory[idx].offset, +- BA1Struct.memory[idx].size)) < 0) +- return err; +- offset += BA1Struct.memory[idx].size >> 2; +- } ++ size_t size = le32_to_cpu(image->size[idx]); ++ ++ if (size % sizeof(u32)) { ++ snd_printk(KERN_ERR "cs46xx: firmware hunk misaligned\n"); ++ return -EINVAL; ++ } ++ if (size > BA1_DWORD_SIZE * sizeof(u32)) { ++ snd_printk(KERN_ERR "cs46xx: firmware hunk out of range\n"); ++ return -EINVAL; ++ } ++ offset += size; ++ } ++ ++ if (firmware->size != offset) { ++ snd_printk(KERN_ERR "cs46xx: firmware size mismatch\n"); ++ return -EINVAL; ++ } ++ + return 0; + } ++ ++static int snd_cs46xx_download_image(struct snd_cs46xx *chip) ++{ ++ int idx, err; ++ const struct firmware *firmware = NULL; ++ const struct cs46xx_old_image *image; ++ const __le32 *data; ++ ++ err = request_firmware(&firmware, "cs46xx/cs46xx-old.fw", ++ &chip->pci->dev); ++ if (err < 0) { ++ snd_printk(KERN_ERR "cs46xx: no firmware\n"); ++ return err; ++ } ++ ++ err = snd_cs46xx_check_image_size(firmware); ++ if (err < 0) ++ goto end; ++ image = (const struct cs46xx_old_image *)firmware->data; ++ data = image->data; ++ ++ for (idx = 0; idx < BA1_MEMORY_COUNT; idx++) { ++ size_t size = le32_to_cpu(image->size[idx]); ++ ++ err = snd_cs46xx_download(chip, data, idx << 16, size); ++ if (err < 0) ++ goto end; ++ data += size / sizeof(u32); ++ } ++end: ++ release_firmware(firmware); ++ return err; ++} + #endif /* CONFIG_SND_CS46XX_NEW_DSP */ + + /* +@@ -3874,3 +3929,5 @@ int __devinit snd_cs46xx_create(struct snd_card *card, + *rchip = chip; + return 0; + } ++ ++MODULE_FIRMWARE("cs46xx/cs46xx-old.fw"); +diff --git a/sound/pci/cs46xx/cs46xx_lib.h b/sound/pci/cs46xx/cs46xx_lib.h +index 4eb55aa..85babb5 100644 +--- a/sound/pci/cs46xx/cs46xx_lib.h ++++ b/sound/pci/cs46xx/cs46xx_lib.h +@@ -103,8 +103,8 @@ int cs46xx_dsp_proc_done (struct snd_cs46xx *chip); + #define cs46xx_dsp_proc_done(chip) + #endif + int cs46xx_dsp_scb_and_task_init (struct snd_cs46xx *chip); +-int snd_cs46xx_download (struct snd_cs46xx *chip, u32 *src, unsigned long offset, +- unsigned long len); ++int snd_cs46xx_download(struct snd_cs46xx *chip, const __le32 *src, unsigned long offset, ++ unsigned long len); + int snd_cs46xx_clear_BA1(struct snd_cs46xx *chip, unsigned long offset, unsigned long len); + int cs46xx_dsp_enable_spdif_out (struct snd_cs46xx *chip); + int cs46xx_dsp_enable_spdif_hw (struct snd_cs46xx *chip); diff --git a/patches/features/all/speakup/speakup-add.patch b/patches/features/all/speakup/speakup-add.patch new file mode 100644 index 0000000..7fe9718 --- /dev/null +++ b/patches/features/all/speakup/speakup-add.patch @@ -0,0 +1,10232 @@ +--- a/drivers/staging/speakup/allmodule.mk 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/allmodule.mk 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,15 @@ ++CONFIG_SPEAKUP_SYNTH_ACNTSA=m ++CONFIG_SPEAKUP_SYNTH_ACNTPC=m ++CONFIG_SPEAKUP_SYNTH_APOLLO=m ++CONFIG_SPEAKUP_SYNTH_AUDPTR=m ++CONFIG_SPEAKUP_SYNTH_BNS=m ++CONFIG_SPEAKUP_SYNTH_DECTLK=m ++CONFIG_SPEAKUP_SYNTH_DECEXT=m ++CONFIG_SPEAKUP_SYNTH_DTLK=m ++CONFIG_SPEAKUP_SYNTH_KEYPC=m ++CONFIG_SPEAKUP_SYNTH_LTLK=m ++CONFIG_SPEAKUP_SYNTH_SOFT=m ++CONFIG_SPEAKUP_SYNTH_SPKOUT=m ++CONFIG_SPEAKUP_SYNTH_TXPRT=m ++CONFIG_SPEAKUP_SYNTH_DUMMY=m ++CONFIG_SPEAKUP=m +--- a/drivers/staging/speakup/buffers.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/buffers.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,124 @@ ++#include <linux/console.h> ++#include <linux/smp_lock.h> ++#include <linux/interrupt.h> /* for in_atomic */ ++#include <linux/types.h> ++#include <linux/wait.h> ++ ++#include "speakup.h" ++#include "spk_priv.h" ++ ++#define synthBufferSize 8192 /* currently 8K bytes */ ++ ++static u_char synth_buffer[synthBufferSize]; /* guess what this is for! */ ++static u_char *buff_in = synth_buffer; ++static u_char *buff_out = synth_buffer; ++static u_char *buffer_end = synth_buffer+synthBufferSize-1; ++ ++/* These try to throttle applications by stopping the TTYs ++ * Note: we need to make sure that we will restart them eventually, which is ++ * usually not possible to do from the notifiers. ++ * ++ * So we only stop when we know alive == 1 (else we discard the data anyway), ++ * and the alive synth will eventually call start_ttys from the thread context. ++ */ ++void speakup_start_ttys(void) ++{ ++ int i; ++ ++ BUG_ON(in_atomic()); ++ lock_kernel(); ++ for (i = 0; i < MAX_NR_CONSOLES; i++) { ++ if (speakup_console[i] && speakup_console[i]->tty_stopped) ++ continue; ++ if ((vc_cons[i].d != NULL) && (vc_cons[i].d->vc_tty != NULL)) ++ start_tty(vc_cons[i].d->vc_tty); ++ } ++ unlock_kernel(); ++} ++EXPORT_SYMBOL_GPL(speakup_start_ttys); ++ ++static void speakup_stop_ttys(void) ++{ ++ int i; ++ ++ if (!in_atomic()) ++ lock_kernel(); ++ else if (!kernel_locked()) { ++ /* BKL is not held and we are in a critical section, too bad, ++ * let the buffer continue to fill up. ++ * ++ * This only happens with kernel messages and keyboard echo, so ++ * that shouldn't be so much a concern. ++ */ ++ return; ++ } ++ for (i = 0; i < MAX_NR_CONSOLES; i++) ++ if ((vc_cons[i].d != NULL) && (vc_cons[i].d->vc_tty != NULL)) ++ stop_tty(vc_cons[i].d->vc_tty); ++ if (!in_atomic()) ++ unlock_kernel(); ++ return; ++} ++ ++static int synth_buffer_free(void) ++{ ++ int bytesFree; ++ ++ if (buff_in >= buff_out) ++ bytesFree = synthBufferSize - (buff_in - buff_out); ++ else ++ bytesFree = buff_out - buff_in; ++ return bytesFree; ++} ++ ++int synth_buffer_empty(void) ++{ ++ return (buff_in == buff_out); ++} ++EXPORT_SYMBOL_GPL(synth_buffer_empty); ++ ++void synth_buffer_add(char ch) ++{ ++ if (!synth->alive) { ++ /* This makes sure that we won't stop TTYs if there is no synth ++ * to restart them */ ++ return; ++ } ++ if (synth_buffer_free() <= 100) { ++ synth_start(); ++ speakup_stop_ttys(); ++ } ++ if (synth_buffer_free() <= 1) ++ return; ++ *buff_in++ = ch; ++ if (buff_in > buffer_end) ++ buff_in = synth_buffer; ++} ++ ++char synth_buffer_getc(void) ++{ ++ char ch; ++ ++ if (buff_out == buff_in) ++ return 0; ++ ch = *buff_out++; ++ if (buff_out > buffer_end) ++ buff_out = synth_buffer; ++ return ch; ++} ++EXPORT_SYMBOL_GPL(synth_buffer_getc); ++ ++char synth_buffer_peek(void) ++{ ++ if (buff_out == buff_in) ++ return 0; ++ return *buff_out; ++} ++EXPORT_SYMBOL_GPL(synth_buffer_peek); ++ ++void synth_buffer_clear(void) ++{ ++ buff_in = buff_out = synth_buffer; ++ return; ++} ++EXPORT_SYMBOL_GPL(synth_buffer_clear); +--- a/drivers/staging/speakup/devsynth.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/devsynth.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,92 @@ ++#include <linux/errno.h> ++#include <linux/miscdevice.h> /* for misc_register, and SYNTH_MINOR */ ++#include <linux/types.h> ++#include <linux/uaccess.h> ++ ++#include "speakup.h" ++#include "spk_priv.h" ++ ++#ifndef SYNTH_MINOR ++#define SYNTH_MINOR 25 ++#endif ++ ++static int misc_registered; ++static int dev_opened; ++ ++static ssize_t speakup_file_write(struct file *fp, const char *buffer, ++ size_t nbytes, loff_t *ppos) ++{ ++ size_t count = nbytes; ++ const char *ptr = buffer; ++ int bytes; ++ unsigned long flags; ++ u_char buf[256]; ++ if (synth == NULL) ++ return -ENODEV; ++ while (count > 0) { ++ bytes = min_t(size_t, count, sizeof(buf)); ++ if (copy_from_user(buf, ptr, bytes)) ++ return -EFAULT; ++ count -= bytes; ++ ptr += bytes; ++ spk_lock(flags); ++ synth_write(buf, bytes); ++ spk_unlock(flags); ++ } ++ return (ssize_t) nbytes; ++} ++ ++static ssize_t speakup_file_read(struct file *fp, char *buf, size_t nbytes, loff_t *ppos) ++{ ++ return 0; ++} ++ ++static int speakup_file_open(struct inode *ip, struct file *fp) ++{ ++ if (synth == NULL) ++ return -ENODEV; ++ if (xchg(&dev_opened, 1)) ++ return -EBUSY; ++ return 0; ++} ++ ++static int speakup_file_release(struct inode *ip, struct file *fp) ++{ ++ dev_opened = 0; ++ return 0; ++} ++ ++static struct file_operations synth_fops = { ++ .read = speakup_file_read, ++ .write = speakup_file_write, ++ .open = speakup_file_open, ++ .release = speakup_file_release, ++}; ++ ++static struct miscdevice synth_device = { ++ .minor = SYNTH_MINOR, ++ .name = "synth", ++ .fops = &synth_fops, ++}; ++ ++void speakup_register_devsynth(void) ++{ ++ if (misc_registered != 0) ++ return; ++/* zero it so if register fails, deregister will not ref invalid ptrs */ ++ if (misc_register(&synth_device)) ++ pr_warn("Couldn't initialize miscdevice /dev/synth.\n"); ++ else { ++ pr_info("initialized device: /dev/synth, node (MAJOR %d, MINOR %d)\n", MISC_MAJOR, SYNTH_MINOR); ++ misc_registered = 1; ++ } ++} ++ ++void speakup_unregister_devsynth(void) ++{ ++ if (!misc_registered) ++ return; ++ pr_info("speakup: unregistering synth device /dev/synth\n"); ++ misc_deregister(&synth_device); ++ misc_registered = 0; ++} +--- a/drivers/staging/speakup/i18n.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/i18n.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,621 @@ ++/* Internationalization implementation. Includes definitions of English ++ * string arrays, and the i18n pointer. */ ++ ++#include <linux/ctype.h> ++#include <linux/module.h> ++#include <linux/string.h> ++#include "speakup.h" ++#include "spk_priv.h" ++ ++static char *speakup_msgs[MSG_LAST_INDEX]; ++static char *speakup_default_msgs [MSG_LAST_INDEX] = { ++ [MSG_BLANK] = "blank", ++ [MSG_IAM_ALIVE] = "I'm aLive!", ++ [MSG_YOU_KILLED_SPEAKUP] = "You killed speakup!", ++ [MSG_HEY_THATS_BETTER] = "hey. That's better!", ++ [MSG_YOU_TURNED_ME_OFF] = "You turned me off!", ++ [MSG_PARKED] = "parked!", ++ [MSG_UNPARKED] = "unparked!", ++ [MSG_MARK] = "mark", ++ [MSG_CUT] = "cut", ++ [MSG_MARK_CLEARED] = "mark, cleared", ++ [MSG_PASTE] = "paste", ++ [MSG_BRIGHT] = "bright", ++ [MSG_ON_BLINKING] = "on blinking", ++ [MSG_OFF] = "off", ++ [MSG_ON] = "on", ++ [MSG_NO_WINDOW] = "no window", ++ [MSG_CURSORING_OFF] = "cursoring off", ++ [MSG_CURSORING_ON] = "cursoring on", ++ [MSG_HIGHLIGHT_TRACKING] = "highlight tracking", ++ [MSG_READ_WINDOW] = "read windo", ++ [MSG_READ_ALL] = "read all", ++ [MSG_EDIT_DONE] = "edit done", ++ [MSG_WINDOW_ALREADY_SET] = "window already set, clear then reset", ++ [MSG_END_BEFORE_START] = "error end before start", ++ [MSG_WINDOW_CLEARED] = "window cleared", ++ [MSG_WINDOW_SILENCED] = "window silenced", ++ [MSG_WINDOW_SILENCE_DISABLED] = "window silence disabled", ++ [MSG_ERROR] = "error", ++ [MSG_GOTO_CANCELED] = "goto canceled", ++ [MSG_GOTO] = "go to?", ++ [MSG_LEAVING_HELP] = "leaving help", ++ [MSG_IS_UNASSIGNED] = "is unassigned", ++ [MSG_HELP_INFO] = "press space to leav help, cursor up or down to scroll, or a letter to go to commands in list", ++ [MSG_EDGE_TOP] = "top,", ++ [MSG_EDGE_BOTTOM] = "bottom,", ++ [MSG_EDGE_LEFT] = "left,", ++ [MSG_EDGE_RIGHT] = "right,", ++ [MSG_NUMBER] = "number", ++ [MSG_SPACE] = "space", ++ [MSG_START] = "start", ++ [MSG_END] = "end", ++ [MSG_CTRL] = "control-", ++ [MSG_DISJUNCTION] = "or", ++ ++/* Messages with embedded format specifiers. */ ++ [MSG_POS_INFO] = "line %ld, col %ld, t t y %d", ++ [MSG_CHAR_INFO] = "hex %02x, decimal %d", ++ [MSG_REPEAT_DESC] = "times %d .", ++ [MSG_REPEAT_DESC2] = "repeated %d .", ++ [MSG_WINDOW_LINE] = "window is line %d", ++ [MSG_WINDOW_BOUNDARY] = "%s at line %d, column %d", ++ [MSG_EDIT_PROMPT] = "edit %s, press space when done", ++ [MSG_NO_COMMAND] = "no commands for %c", ++ [MSG_KEYDESC] = "is %s", ++ ++ /* Control keys. */ ++ /* Most of these duplicate the entries in state names. */ ++ [MSG_CTL_SHIFT] = "shift", ++ [MSG_CTL_ALTGR] = "altgr", ++ [MSG_CTL_CONTROL] = "control", ++ [MSG_CTL_ALT] = "ault", ++ [MSG_CTL_LSHIFT] = "l shift", ++ [MSG_CTL_SPEAKUP] = "speakup", ++ [MSG_CTL_LCONTROL] = "l control", ++ [MSG_CTL_RCONTROL] = "r control", ++ [MSG_CTL_CAPSSHIFT] = "caps shift", ++ ++ /* Color names. */ ++ [MSG_COLOR_BLACK] = "black", ++ [MSG_COLOR_BLUE] = "blue", ++ [MSG_COLOR_GREEN] = "green", ++ [MSG_COLOR_CYAN] = "cyan", ++ [MSG_COLOR_RED] = "red", ++ [MSG_COLOR_MAGENTA] = "magenta", ++ [MSG_COLOR_YELLOW] = "yellow", ++ [MSG_COLOR_WHITE] = "white", ++ [MSG_COLOR_GREY] = "grey", ++ ++ /* Names of key states. */ ++ [MSG_STATE_DOUBLE] = "double", ++ [MSG_STATE_SPEAKUP] = "speakup", ++ [MSG_STATE_ALT] = "alt", ++ [MSG_STATE_CONTROL] = "ctrl", ++ [MSG_STATE_ALTGR] = "altgr", ++ [MSG_STATE_SHIFT] = "shift", ++ ++ /* Key names. */ ++ [MSG_KEYNAME_ESC] = "escape", ++ [MSG_KEYNAME_1] = "1", ++ [MSG_KEYNAME_2] = "2", ++ [MSG_KEYNAME_3] = "3", ++ [MSG_KEYNAME_4] = "4", ++ [MSG_KEYNAME_5] = "5", ++ [MSG_KEYNAME_6] = "6", ++ [MSG_KEYNAME_7] = "7", ++ [MSG_KEYNAME_8] = "8", ++ [MSG_KEYNAME_9] = "9", ++ [MSG_KEYNAME_0] = "0", ++ [MSG_KEYNAME_DASH] = "minus", ++ [MSG_KEYNAME_EQUAL] = "equal", ++ [MSG_KEYNAME_BS] = "back space", ++ [MSG_KEYNAME_TAB] = "tab", ++ [MSG_KEYNAME_Q] = "q", ++ [MSG_KEYNAME_W] = "w", ++ [MSG_KEYNAME_E] = "e", ++ [MSG_KEYNAME_R] = "r", ++ [MSG_KEYNAME_T] = "t", ++ [MSG_KEYNAME_Y] = "y", ++ [MSG_KEYNAME_U] = "u", ++ [MSG_KEYNAME_I] = "i", ++ [MSG_KEYNAME_O] = "o", ++ [MSG_KEYNAME_P] = "p", ++ [MSG_KEYNAME_LEFTBRACE] = "left brace", ++ [MSG_KEYNAME_RIGHTBRACE] = "right brace", ++ [MSG_KEYNAME_ENTER] = "enter", ++ [MSG_KEYNAME_LEFTCTRL] = "left control", ++ [MSG_KEYNAME_A] = "a", ++ [MSG_KEYNAME_S] = "s", ++ [MSG_KEYNAME_D] = "d", ++ [MSG_KEYNAME_F] = "f", ++ [MSG_KEYNAME_G] = "g", ++ [MSG_KEYNAME_H] = "h", ++ [MSG_KEYNAME_J] = "j", ++ [MSG_KEYNAME_K] = "k", ++ [MSG_KEYNAME_L] = "l", ++ [MSG_KEYNAME_SEMICOLON] = "semicolon", ++ [MSG_KEYNAME_SINGLEQUOTE] = "apostrophe", ++ [MSG_KEYNAME_GRAVE] = "accent", ++ [MSG_KEYNAME_LEFTSHFT] = "left shift", ++ [MSG_KEYNAME_BACKSLASH] = "back slash", ++ [MSG_KEYNAME_Z] = "z", ++ [MSG_KEYNAME_X] = "x", ++ [MSG_KEYNAME_C] = "c", ++ [MSG_KEYNAME_V] = "v", ++ [MSG_KEYNAME_B] = "b", ++ [MSG_KEYNAME_N] = "n", ++ [MSG_KEYNAME_M] = "m", ++ [MSG_KEYNAME_COMMA] = "comma", ++ [MSG_KEYNAME_DOT] = "dot", ++ [MSG_KEYNAME_SLASH] = "slash", ++ [MSG_KEYNAME_RIGHTSHFT] = "right shift", ++ [MSG_KEYNAME_KPSTAR] = "keypad asterisk", ++ [MSG_KEYNAME_LEFTALT] = "left alt", ++ [MSG_KEYNAME_SPACE] = "space", ++ [MSG_KEYNAME_CAPSLOCK] = "caps lock", ++ [MSG_KEYNAME_F1] = "f1", ++ [MSG_KEYNAME_F2] = "f2", ++ [MSG_KEYNAME_F3] = "f3", ++ [MSG_KEYNAME_F4] = "f4", ++ [MSG_KEYNAME_F5] = "f5", ++ [MSG_KEYNAME_F6] = "f6", ++ [MSG_KEYNAME_F7] = "f7", ++ [MSG_KEYNAME_F8] = "f8", ++ [MSG_KEYNAME_F9] = "f9", ++ [MSG_KEYNAME_F10] = "f10", ++ [MSG_KEYNAME_NUMLOCK] = "num lock", ++ [MSG_KEYNAME_SCROLLLOCK] = "scroll lock", ++ [MSG_KEYNAME_KP7] = "keypad 7", ++ [MSG_KEYNAME_KP8] = "keypad 8", ++ [MSG_KEYNAME_KP9] = "keypad 9", ++ [MSG_KEYNAME_KPMINUS] = "keypad minus", ++ [MSG_KEYNAME_KP4] = "keypad 4", ++ [MSG_KEYNAME_KP5] = "keypad 5", ++ [MSG_KEYNAME_KP6] = "keypad 6", ++ [MSG_KEYNAME_KPPLUS] = "keypad plus", ++ [MSG_KEYNAME_KP1] = "keypad 1", ++ [MSG_KEYNAME_KP2] = "keypad 2", ++ [MSG_KEYNAME_KP3] = "keypad 3", ++ [MSG_KEYNAME_KP0] = "keypad 0", ++ [MSG_KEYNAME_KPDOT] = "keypad dot", ++ [MSG_KEYNAME_103RD] = "103rd", ++ [MSG_KEYNAME_F13] = "f13", ++ [MSG_KEYNAME_102ND] = "102nd", ++ [MSG_KEYNAME_F11] = "f11", ++ [MSG_KEYNAME_F12] = "f12", ++ [MSG_KEYNAME_F14] = "f14", ++ [MSG_KEYNAME_F15] = "f15", ++ [MSG_KEYNAME_F16] = "f16", ++ [MSG_KEYNAME_F17] = "f17", ++ [MSG_KEYNAME_F18] = "f18", ++ [MSG_KEYNAME_F19] = "f19", ++ [MSG_KEYNAME_F20] = "f20", ++ [MSG_KEYNAME_KPENTER] = "keypad enter", ++ [MSG_KEYNAME_RIGHTCTRL] = "right control", ++ [MSG_KEYNAME_KPSLASH] = "keypad slash", ++ [MSG_KEYNAME_SYSRQ] = "sysrq", ++ [MSG_KEYNAME_RIGHTALT] = "right alt", ++ [MSG_KEYNAME_LF] = "line feed", ++ [MSG_KEYNAME_HOME] = "home", ++ [MSG_KEYNAME_UP] = "up", ++ [MSG_KEYNAME_PGUP] = "page up", ++ [MSG_KEYNAME_LEFT] = "left", ++ [MSG_KEYNAME_RIGHT] = "right", ++ [MSG_KEYNAME_END] = "end", ++ [MSG_KEYNAME_DOWN] = "down", ++ [MSG_KEYNAME_PGDN] = "page down", ++ [MSG_KEYNAME_INS] = "insert", ++ [MSG_KEYNAME_DEL] = "delete", ++ [MSG_KEYNAME_MACRO] = "macro", ++ [MSG_KEYNAME_MUTE] = "mute", ++ [MSG_KEYNAME_VOLDOWN] = "volume down", ++ [MSG_KEYNAME_VOLUP] = "volume up", ++ [MSG_KEYNAME_POWER] = "power", ++ [MSG_KEYNAME_KPEQUAL] = "keypad equal", ++ [MSG_KEYNAME_KPPLUSDASH] = "keypad plusminus", ++ [MSG_KEYNAME_PAUSE] = "pause", ++ [MSG_KEYNAME_F21] = "f21", ++ [MSG_KEYNAME_F22] = "f22", ++ [MSG_KEYNAME_F23] = "f23", ++ [MSG_KEYNAME_F24] = "f24", ++ [MSG_KEYNAME_KPCOMMA] = "keypad comma", ++ [MSG_KEYNAME_LEFTMETA] = "left meta", ++ [MSG_KEYNAME_RIGHTMETA] = "right meta", ++ [MSG_KEYNAME_COMPOSE] = "compose", ++ [MSG_KEYNAME_STOP] = "stop", ++ [MSG_KEYNAME_AGAIN] = "again", ++ [MSG_KEYNAME_PROPS] = "props", ++ [MSG_KEYNAME_UNDO] = "undo", ++ [MSG_KEYNAME_FRONT] = "front", ++ [MSG_KEYNAME_COPY] = "copy", ++ [MSG_KEYNAME_OPEN] = "open", ++ [MSG_KEYNAME_PASTE] = "paste", ++ [MSG_KEYNAME_FIND] = "find", ++ [MSG_KEYNAME_CUT] = "cut", ++ [MSG_KEYNAME_HELP] = "help", ++ [MSG_KEYNAME_MENU] = "menu", ++ [MSG_KEYNAME_CALC] = "calc", ++ [MSG_KEYNAME_SETUP] = "setup", ++ [MSG_KEYNAME_SLEEP] = "sleep", ++ [MSG_KEYNAME_WAKEUP] = "wakeup", ++ [MSG_KEYNAME_FILE] = "file", ++ [MSG_KEYNAME_SENDFILE] = "send file", ++ [MSG_KEYNAME_DELFILE] = "delete file", ++ [MSG_KEYNAME_XFER] = "transfer", ++ [MSG_KEYNAME_PROG1] = "prog1", ++ [MSG_KEYNAME_PROG2] = "prog2", ++ [MSG_KEYNAME_WWW] = "www", ++ [MSG_KEYNAME_MSDOS] = "msdos", ++ [MSG_KEYNAME_COFFEE] = "coffee", ++ [MSG_KEYNAME_DIRECTION] = "direction", ++ [MSG_KEYNAME_CYCLEWINDOWS] = "cycle windows", ++ [MSG_KEYNAME_MAIL] = "mail", ++ [MSG_KEYNAME_BOOKMARKS] = "bookmarks", ++ [MSG_KEYNAME_COMPUTER] = "computer", ++ [MSG_KEYNAME_BACK] = "back", ++ [MSG_KEYNAME_FORWARD] = "forward", ++ [MSG_KEYNAME_CLOSECD] = "close cd", ++ [MSG_KEYNAME_EJECTCD] = "eject cd", ++ [MSG_KEYNAME_EJECTCLOSE] = "eject close cd", ++ [MSG_KEYNAME_NEXTSONG] = "next song", ++ [MSG_KEYNAME_PLAYPAUSE] = "play pause", ++ [MSG_KEYNAME_PREVSONG] = "previous song", ++ [MSG_KEYNAME_STOPCD] = "stop cd", ++ [MSG_KEYNAME_RECORD] = "record", ++ [MSG_KEYNAME_REWIND] = "rewind", ++ [MSG_KEYNAME_PHONE] = "phone", ++ [MSG_KEYNAME_ISO] = "iso", ++ [MSG_KEYNAME_CONFIG] = "config", ++ [MSG_KEYNAME_HOMEPG] = "home page", ++ [MSG_KEYNAME_REFRESH] = "refresh", ++ [MSG_KEYNAME_EXIT] = "exit", ++ [MSG_KEYNAME_MOVE] = "move", ++ [MSG_KEYNAME_EDIT] = "edit", ++ [MSG_KEYNAME_SCROLLUP] = "scroll up", ++ [MSG_KEYNAME_SCROLLDN] = "scroll down", ++ [MSG_KEYNAME_KPLEFTPAR] = "keypad left paren", ++ [MSG_KEYNAME_KPRIGHTPAR] = "keypad right paren", ++ ++ /* Function names. */ ++ [MSG_FUNCNAME_ATTRIB_BLEEP_DEC] = "attribute bleep decrement", ++ [MSG_FUNCNAME_ATTRIB_BLEEP_INC] = "attribute bleep increment", ++ [MSG_FUNCNAME_BLEEPS_DEC] = "bleeps decrement", ++ [MSG_FUNCNAME_BLEEPS_INC] = "bleeps increment", ++ [MSG_FUNCNAME_CHAR_FIRST] = "character, first", ++ [MSG_FUNCNAME_CHAR_LAST] = "character, last", ++ [MSG_FUNCNAME_CHAR_CURRENT] = "character, say current", ++ [MSG_FUNCNAME_CHAR_HEX_AND_DEC] = "character, say hex and decimal", ++ [MSG_FUNCNAME_CHAR_NEXT] = "character, say next", ++ [MSG_FUNCNAME_CHAR_PHONETIC] = "character, say phonetic", ++ [MSG_FUNCNAME_CHAR_PREVIOUS] = "character, say previous", ++ [MSG_FUNCNAME_CURSOR_PARK] = "cursor park", ++ [MSG_FUNCNAME_CUT] = "cut", ++ [MSG_FUNCNAME_EDIT_DELIM] = "edit delimiters", ++ [MSG_FUNCNAME_EDIT_EXNUM] = "edit exnum", ++ [MSG_FUNCNAME_EDIT_MOST] = "edit most", ++ [MSG_FUNCNAME_EDIT_REPEATS] = "edit repeats", ++ [MSG_FUNCNAME_EDIT_SOME] = "edit some", ++ [MSG_FUNCNAME_GOTO] = "go to", ++ [MSG_FUNCNAME_GOTO_BOTTOM] = "go to bottom edge", ++ [MSG_FUNCNAME_GOTO_LEFT] = "go to left edge", ++ [MSG_FUNCNAME_GOTO_RIGHT] = "go to right edge", ++ [MSG_FUNCNAME_GOTO_TOP] = "go to top edge", ++ [MSG_FUNCNAME_HELP] = "help", ++ [MSG_FUNCNAME_LINE_SAY_CURRENT] = "line, say current", ++ [MSG_FUNCNAME_LINE_SAY_NEXT] = "line, say next", ++ [MSG_FUNCNAME_LINE_SAY_PREVIOUS] = "line, say previous", ++ [MSG_FUNCNAME_LINE_SAY_WITH_INDENT] = "line, say with indent", ++ [MSG_FUNCNAME_PASTE] = "paste", ++ [MSG_FUNCNAME_PITCH_DEC] = "pitch decrement", ++ [MSG_FUNCNAME_PITCH_INC] = "pitch increment", ++ [MSG_FUNCNAME_PUNC_DEC] = "punctuation decrement", ++ [MSG_FUNCNAME_PUNC_INC] = "punctuation increment", ++ [MSG_FUNCNAME_PUNC_LEVEL_DEC] = "punc level decrement", ++ [MSG_FUNCNAME_PUNC_LEVEL_INC] = "punc level increment", ++ [MSG_FUNCNAME_QUIET] = "quiet", ++ [MSG_FUNCNAME_RATE_DEC] = "rate decrement", ++ [MSG_FUNCNAME_RATE_INC] = "rate increment", ++ [MSG_FUNCNAME_READING_PUNC_DEC] = "reading punctuation decrement", ++ [MSG_FUNCNAME_READING_PUNC_INC] = "reading punctuation increment", ++ [MSG_FUNCNAME_SAY_ATTRIBUTES] = "say attributes", ++ [MSG_FUNCNAME_SAY_FROM_LEFT] = "say from left", ++ [MSG_FUNCNAME_SAY_FROM_TOP] = "say from top", ++ [MSG_FUNCNAME_SAY_POSITION] = "say position", ++ [MSG_FUNCNAME_SAY_SCREEN] = "say screen", ++ [MSG_FUNCNAME_SAY_TO_BOTTOM] = "say to bottom", ++ [MSG_FUNCNAME_SAY_TO_RIGHT] = "say to right", ++ [MSG_FUNCNAME_SPEAKUP] = "speakup", ++ [MSG_FUNCNAME_SPEAKUP_LOCK] = "speakup lock", ++ [MSG_FUNCNAME_SPEAKUP_OFF] = "speakup off", ++ [MSG_FUNCNAME_SPEECH_KILL] = "speech kill", ++ [MSG_FUNCNAME_SPELL_DELAY_DEC] = "spell delay decrement", ++ [MSG_FUNCNAME_SPELL_DELAY_INC] = "spell delay increment", ++ [MSG_FUNCNAME_SPELL_WORD] = "spell word", ++ [MSG_FUNCNAME_SPELL_WORD_PHONETICALLY] = "spell word phoneticly", ++ [MSG_FUNCNAME_TONE_DEC] = "tone decrement", ++ [MSG_FUNCNAME_TONE_INC] = "tone increment", ++ [MSG_FUNCNAME_VOICE_DEC] = "voice decrement", ++ [MSG_FUNCNAME_VOICE_INC] = "voice increment", ++ [MSG_FUNCNAME_VOLUME_DEC] = "volume decrement", ++ [MSG_FUNCNAME_VOLUME_INC] = "volume increment", ++ [MSG_FUNCNAME_WINDOW_CLEAR] = "window, clear", ++ [MSG_FUNCNAME_WINDOW_SAY] = "window, say", ++ [MSG_FUNCNAME_WINDOW_SET] = "window, set", ++ [MSG_FUNCNAME_WINDOW_SILENCE] = "window, silence", ++ [MSG_FUNCNAME_WORD_SAY_CURRENT] = "word, say current", ++ [MSG_FUNCNAME_WORD_SAY_NEXT] = "word, say next", ++ [MSG_FUNCNAME_WORD_SAY_PREVIOUS] = "word, say previous", ++}; ++ ++static struct msg_group_t all_groups [] = { ++ { ++ .name = "ctl_keys", ++ .start = MSG_CTL_START, ++ .end = MSG_CTL_END, ++ }, ++ { ++ .name = "colors", ++ .start = MSG_COLORS_START, ++ .end = MSG_COLORS_END, ++ }, ++ { ++ .name = "formatted", ++ .start = MSG_FORMATTED_START, ++ .end = MSG_FORMATTED_END, ++ }, ++ { ++ .name = "function_names", ++ .start = MSG_FUNCNAMES_START, ++ .end = MSG_FUNCNAMES_END, ++ }, ++ { ++ .name = "key_names", ++ .start = MSG_KEYNAMES_START, ++ .end = MSG_KEYNAMES_END, ++ }, ++ { ++ .name = "announcements", ++ .start = MSG_ANNOUNCEMENTS_START, ++ .end = MSG_ANNOUNCEMENTS_END, ++ }, ++ { ++ .name = "states", ++ .start = MSG_STATES_START, ++ .end = MSG_STATES_END, ++ }, ++}; ++ ++static const int num_groups = sizeof(all_groups) / sizeof(struct msg_group_t); ++ ++char *msg_get(enum msg_index_t index) ++{ ++ char *ch; ++ ++ ch = speakup_msgs[index]; ++ return ch; ++} ++ ++/* ++ * Function: next_specifier ++ * Finds the start of the next format specifier in the argument string. ++ * Return value: pointer to start of format ++ * specifier, or NULL if no specifier exists. ++*/ ++static char *next_specifier(char *input) ++{ ++ int found = 0; ++ char *next_percent = input; ++ ++ while ((next_percent != NULL) && !found) { ++ next_percent = strchr(next_percent, '%'); ++ if (next_percent != NULL) { ++ while ((next_percent[0] == '%') ++ && (next_percent[1] == '%')) ++ next_percent += 2; /* Advance over doubled percent signs. */ ++ if (*next_percent == '%') ++ found = 1; ++ else if (*next_percent == '\0') ++ next_percent = NULL; ++ } ++ } ++ ++ return next_percent; ++} ++ ++/* Skip over 0 or more flags. */ ++static char *skip_flags(char *input) ++{ ++ while ((*input != '\0') && strchr(" 0+-#", *input)) ++ input++; ++ return input; ++} ++ ++/* Skip over width.precision, if it exists. */ ++static char *skip_width(char *input) ++{ ++ while (isdigit(*input)) ++ input++; ++ if (*input == '.') { ++ input++; ++ while (isdigit(*input)) ++ input++; ++ } ++ return input; ++} ++ ++/* ++ * Skip past the end of the conversion part. ++ * Note that this code only accepts a handful of conversion specifiers: ++ * c d s x and ld. Not accidental; these are exactly the ones used in ++ * the default group of formatted messages. ++*/ ++static char *skip_conversion(char *input) ++{ ++ if ((input[0] == 'l') && (input[1] == 'd')) ++ input += 2; ++ else if ((*input != '\0') && strchr("cdsx", *input)) ++ input++; ++ return input; ++} ++ ++/* ++ * Function: find_specifier_end ++ * Return a pointer to the end of the format specifier. ++*/ ++static char *find_specifier_end(char *input) ++{ ++ input++; /* Advance over %. */ ++ input = skip_flags(input); ++ input = skip_width(input); ++ input = skip_conversion(input); ++ return input; ++} ++ ++/* ++ * Function: compare_specifiers ++ * Compare the format specifiers pointed to by *input1 and *input2. ++ * Return 1 if they are the same, 0 otherwise. Advance *input1 and *input2 ++ * so that they point to the character following the end of the specifier. ++*/ ++static int compare_specifiers(char **input1, char **input2) ++{ ++ int same = 0; ++ char *end1 = find_specifier_end(*input1); ++ char *end2 = find_specifier_end(*input2); ++ size_t length1 = end1 - *input1; ++ size_t length2 = end2 - *input2; ++ ++ if((length1 == length2) && !memcmp(*input1, *input2, length1)) ++ same = 1; ++ ++ *input1 = end1; ++ *input2 = end2; ++ return same; ++} ++ ++/* ++ * Function: fmt_validate ++ * Check that two format strings contain the same number of format specifiers, ++ * and that the order of specifiers is the same in both strings. ++ * Return 1 if the condition holds, 0 if it doesn't. ++*/ ++static int fmt_validate(char *template, char *user) ++{ ++ int valid = 1; ++ int still_comparing = 1; ++ char *template_ptr = template; ++ char *user_ptr = user; ++ ++ while (still_comparing && valid) { ++ template_ptr = next_specifier(template_ptr); ++ user_ptr = next_specifier(user_ptr); ++ if (template_ptr && user_ptr) { ++/* Both have at least one more specifier. */ ++ valid = compare_specifiers(&template_ptr, &user_ptr); ++ } else { ++/* No more format specifiers in one or both of the strings. */ ++ still_comparing = 0; ++ if (template_ptr || user_ptr) ++ valid = 0; /* One has more specifiers than the other. */ ++ } ++ } ++ return valid; ++} ++ ++/* ++ * Function: msg_set ++ * Description: Add a user-supplied message to the user_messages array. ++ * The message text is copied to a memory area allocated with kmalloc. ++ * If the function fails, then user_messages is untouched. ++ * Arguments: ++ * - index: a message number, as found in i18n.h. ++ * - text: text of message. Not NUL-terminated. ++ * - length: number of bytes in text. ++ * Failure conditions: ++ * -EINVAL - Invalid format specifiers in formatted message or illegal index. ++ * -ENOMEM - Unable to allocate memory. ++*/ ++ssize_t msg_set(enum msg_index_t index, char *text, size_t length) ++{ ++ int rc = 0; ++ char *newstr = NULL; ++ unsigned long flags; ++ ++ if ((index >= MSG_FIRST_INDEX) && (index < MSG_LAST_INDEX)) { ++ newstr = kmalloc(length + 1, GFP_KERNEL); ++ if (newstr) { ++ memcpy(newstr, text, length); ++ newstr[length] = '\0'; ++ if ((index >= MSG_FORMATTED_START && index <= MSG_FORMATTED_END) ++ && ! fmt_validate(speakup_default_msgs[index], newstr)) { ++ return -EINVAL; ++ } ++ spk_lock(flags); ++ if (speakup_msgs[index] != speakup_default_msgs[index]) ++ kfree(speakup_msgs[index]); ++ speakup_msgs[index] = newstr; ++ spk_unlock(flags); ++ } else { ++ rc = -ENOMEM; ++ } ++ } else { ++ rc = -EINVAL; ++ } ++ return rc; ++} ++ ++/* ++ * Find a message group, given its name. Return a pointer to the structure ++ * if found, or NULL otherwise. ++*/ ++struct msg_group_t *find_msg_group(const char *group_name) ++{ ++ struct msg_group_t *group = NULL; ++ int i; ++ ++ for (i = 0; i < num_groups; i++) { ++ if (!strcmp(all_groups[i].name, group_name)) { ++ group = &all_groups[i]; ++ break; ++ } ++ } ++ return group; ++} ++ ++void reset_msg_group(struct msg_group_t *group) ++{ ++ unsigned long flags; ++ enum msg_index_t i; ++ ++ spk_lock(flags); ++ ++ for(i = group->start; i <= group->end; i++) { ++ if (speakup_msgs[i] != speakup_default_msgs[i]) ++ kfree(speakup_msgs[i]); ++ speakup_msgs[i] = speakup_default_msgs[i]; ++ } ++ spk_unlock(flags); ++} ++ ++/* Called at initialization time, to establish default messages. */ ++void initialize_msgs(void) ++{ ++ memcpy(speakup_msgs, speakup_default_msgs, sizeof(speakup_default_msgs)); ++} ++ ++/* Free user-supplied strings when module is unloaded: */ ++void free_user_msgs(void) ++{ ++ enum msg_index_t index; ++ unsigned long flags; ++ ++ spk_lock(flags); ++ for(index = MSG_FIRST_INDEX; index < MSG_LAST_INDEX; index++) { ++ if (speakup_msgs[index] != speakup_default_msgs[index]) { ++ kfree(speakup_msgs[index]); ++ speakup_msgs[index] = speakup_default_msgs[index]; ++ } ++ } ++ spk_unlock(flags); ++} +--- a/drivers/staging/speakup/i18n.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/i18n.h 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,228 @@ ++#ifndef I18N_H ++#define I18N_H ++/* Internationalization declarations */ ++ ++enum msg_index_t { ++ MSG_FIRST_INDEX , ++ MSG_ANNOUNCEMENTS_START = MSG_FIRST_INDEX, ++ MSG_BLANK = MSG_ANNOUNCEMENTS_START, ++ MSG_IAM_ALIVE, ++ MSG_YOU_KILLED_SPEAKUP, ++ MSG_HEY_THATS_BETTER, ++ MSG_YOU_TURNED_ME_OFF, ++ MSG_PARKED, ++ MSG_UNPARKED, ++ MSG_MARK, ++ MSG_CUT, ++ MSG_MARK_CLEARED, ++ MSG_PASTE, ++ MSG_BRIGHT, ++ MSG_ON_BLINKING, ++ MSG_STATUS_START, ++ MSG_OFF = MSG_STATUS_START, ++ MSG_ON, ++ MSG_NO_WINDOW, ++ MSG_CURSOR_MSGS_START, ++ MSG_CURSORING_OFF = MSG_CURSOR_MSGS_START, ++ MSG_CURSORING_ON, ++ MSG_HIGHLIGHT_TRACKING, ++ MSG_READ_WINDOW, ++ MSG_READ_ALL, ++ MSG_EDIT_DONE, ++ MSG_WINDOW_ALREADY_SET, ++ MSG_END_BEFORE_START, ++ MSG_WINDOW_CLEARED, ++ MSG_WINDOW_SILENCED, ++ MSG_WINDOW_SILENCE_DISABLED, ++ MSG_ERROR, ++ MSG_GOTO_CANCELED, ++ MSG_GOTO, ++ MSG_LEAVING_HELP, ++ MSG_IS_UNASSIGNED, ++ MSG_HELP_INFO, ++ MSG_EDGE_MSGS_START, ++ MSG_EDGE_TOP = MSG_EDGE_MSGS_START, ++ MSG_EDGE_BOTTOM, ++ MSG_EDGE_LEFT, ++ MSG_EDGE_RIGHT, ++ MSG_NUMBER, ++ MSG_SPACE, ++ MSG_START, /* A little confusing, given our convention. */ ++ MSG_END, /* A little confusing, given our convention. */ ++ MSG_CTRL, ++ ++/* A message containing the single word "or". */ ++ MSG_DISJUNCTION, ++ MSG_ANNOUNCEMENTS_END = MSG_DISJUNCTION, ++ ++/* Messages with format specifiers. */ ++ MSG_FORMATTED_START, ++ MSG_POS_INFO = MSG_FORMATTED_START, ++ MSG_CHAR_INFO, ++ MSG_REPEAT_DESC, ++ MSG_REPEAT_DESC2, ++ MSG_WINDOW_LINE, ++ MSG_WINDOW_BOUNDARY, ++ MSG_EDIT_PROMPT, ++ MSG_NO_COMMAND, ++ MSG_KEYDESC, ++ MSG_FORMATTED_END = MSG_KEYDESC, ++ ++ /* Control keys. */ ++ MSG_CTL_START, ++ MSG_CTL_SHIFT = MSG_CTL_START, ++ MSG_CTL_ALTGR, ++ MSG_CTL_CONTROL, ++ MSG_CTL_ALT, ++ MSG_CTL_LSHIFT, ++ MSG_CTL_SPEAKUP, ++ MSG_CTL_LCONTROL, ++ MSG_CTL_RCONTROL, ++ MSG_CTL_CAPSSHIFT, ++ MSG_CTL_END = MSG_CTL_CAPSSHIFT, ++ ++ /* Colors. */ ++ MSG_COLORS_START, ++ MSG_COLOR_BLACK = MSG_COLORS_START, ++ MSG_COLOR_BLUE, ++ MSG_COLOR_GREEN, ++ MSG_COLOR_CYAN, ++ MSG_COLOR_RED, ++ MSG_COLOR_MAGENTA, ++ MSG_COLOR_YELLOW, ++ MSG_COLOR_WHITE, ++ MSG_COLOR_GREY, ++ MSG_COLORS_END = MSG_COLOR_GREY, ++ ++ MSG_STATES_START, ++ MSG_STATE_DOUBLE = MSG_STATES_START, ++ MSG_STATE_SPEAKUP, ++ MSG_STATE_ALT, ++ MSG_STATE_CONTROL, ++ MSG_STATE_ALTGR, ++ MSG_STATE_SHIFT, ++ MSG_STATES_END = MSG_STATE_SHIFT, ++ ++ MSG_KEYNAMES_START, ++ MSG_KEYNAME_ESC = MSG_KEYNAMES_START, ++ MSG_KEYNAME_1, MSG_KEYNAME_2, MSG_KEYNAME_3, MSG_KEYNAME_4, ++ MSG_KEYNAME_5, MSG_KEYNAME_6, MSG_KEYNAME_7, MSG_KEYNAME_8, MSG_KEYNAME_9, ++ MSG_KEYNAME_0, MSG_KEYNAME_DASH, MSG_KEYNAME_EQUAL, MSG_KEYNAME_BS, ++ MSG_KEYNAME_TAB, ++ MSG_KEYNAME_Q, MSG_KEYNAME_W, MSG_KEYNAME_E, MSG_KEYNAME_R, MSG_KEYNAME_T, ++ MSG_KEYNAME_Y, MSG_KEYNAME_U, MSG_KEYNAME_I, MSG_KEYNAME_O, MSG_KEYNAME_P, ++ MSG_KEYNAME_LEFTBRACE, MSG_KEYNAME_RIGHTBRACE, MSG_KEYNAME_ENTER, ++ MSG_KEYNAME_LEFTCTRL, MSG_KEYNAME_A, ++ MSG_KEYNAME_S, MSG_KEYNAME_D, MSG_KEYNAME_F, MSG_KEYNAME_G, MSG_KEYNAME_H, ++ MSG_KEYNAME_J, MSG_KEYNAME_K, MSG_KEYNAME_L, MSG_KEYNAME_SEMICOLON, ++ MSG_KEYNAME_SINGLEQUOTE, MSG_KEYNAME_GRAVE, ++ MSG_KEYNAME_LEFTSHFT, MSG_KEYNAME_BACKSLASH, MSG_KEYNAME_Z, MSG_KEYNAME_X, ++ MSG_KEYNAME_C, MSG_KEYNAME_V, MSG_KEYNAME_B, MSG_KEYNAME_N, MSG_KEYNAME_M, ++ MSG_KEYNAME_COMMA, MSG_KEYNAME_DOT, MSG_KEYNAME_SLASH, MSG_KEYNAME_RIGHTSHFT, ++ MSG_KEYNAME_KPSTAR, ++ MSG_KEYNAME_LEFTALT, MSG_KEYNAME_SPACE, MSG_KEYNAME_CAPSLOCK, ++ MSG_KEYNAME_F1, MSG_KEYNAME_F2, ++ MSG_KEYNAME_F3, MSG_KEYNAME_F4, MSG_KEYNAME_F5, MSG_KEYNAME_F6, ++ MSG_KEYNAME_F7, ++ MSG_KEYNAME_F8, MSG_KEYNAME_F9, MSG_KEYNAME_F10, MSG_KEYNAME_NUMLOCK, ++ MSG_KEYNAME_SCROLLLOCK, ++ MSG_KEYNAME_KP7, MSG_KEYNAME_KP8, MSG_KEYNAME_KP9, MSG_KEYNAME_KPMINUS, ++ MSG_KEYNAME_KP4, ++ MSG_KEYNAME_KP5, MSG_KEYNAME_KP6, MSG_KEYNAME_KPPLUS, MSG_KEYNAME_KP1, ++ MSG_KEYNAME_KP2, ++ MSG_KEYNAME_KP3, MSG_KEYNAME_KP0, MSG_KEYNAME_KPDOT, MSG_KEYNAME_103RD, ++ MSG_KEYNAME_F13, ++ MSG_KEYNAME_102ND, MSG_KEYNAME_F11, MSG_KEYNAME_F12, MSG_KEYNAME_F14, ++ MSG_KEYNAME_F15, ++ MSG_KEYNAME_F16, MSG_KEYNAME_F17, MSG_KEYNAME_F18, MSG_KEYNAME_F19, ++ MSG_KEYNAME_F20, ++ MSG_KEYNAME_KPENTER, MSG_KEYNAME_RIGHTCTRL, MSG_KEYNAME_KPSLASH, ++ MSG_KEYNAME_SYSRQ, MSG_KEYNAME_RIGHTALT, ++ MSG_KEYNAME_LF, MSG_KEYNAME_HOME, MSG_KEYNAME_UP, MSG_KEYNAME_PGUP, ++ MSG_KEYNAME_LEFT, ++ MSG_KEYNAME_RIGHT, MSG_KEYNAME_END, MSG_KEYNAME_DOWN, MSG_KEYNAME_PGDN, ++ MSG_KEYNAME_INS, ++ MSG_KEYNAME_DEL, MSG_KEYNAME_MACRO, MSG_KEYNAME_MUTE, ++ MSG_KEYNAME_VOLDOWN, MSG_KEYNAME_VOLUP, ++ MSG_KEYNAME_POWER, MSG_KEYNAME_KPEQUAL, MSG_KEYNAME_KPPLUSDASH, MSG_KEYNAME_PAUSE, MSG_KEYNAME_F21, ++ MSG_KEYNAME_F22, MSG_KEYNAME_F23, MSG_KEYNAME_F24, MSG_KEYNAME_KPCOMMA, MSG_KEYNAME_LEFTMETA, ++ MSG_KEYNAME_RIGHTMETA, MSG_KEYNAME_COMPOSE, MSG_KEYNAME_STOP, ++ MSG_KEYNAME_AGAIN, MSG_KEYNAME_PROPS, ++ MSG_KEYNAME_UNDO, MSG_KEYNAME_FRONT, MSG_KEYNAME_COPY, MSG_KEYNAME_OPEN, ++ MSG_KEYNAME_PASTE, ++ MSG_KEYNAME_FIND, MSG_KEYNAME_CUT, MSG_KEYNAME_HELP, MSG_KEYNAME_MENU, ++ MSG_KEYNAME_CALC, ++ MSG_KEYNAME_SETUP, MSG_KEYNAME_SLEEP, MSG_KEYNAME_WAKEUP, ++ MSG_KEYNAME_FILE, MSG_KEYNAME_SENDFILE, ++ MSG_KEYNAME_DELFILE, MSG_KEYNAME_XFER, MSG_KEYNAME_PROG1, ++ MSG_KEYNAME_PROG2, MSG_KEYNAME_WWW, ++ MSG_KEYNAME_MSDOS, MSG_KEYNAME_COFFEE, MSG_KEYNAME_DIRECTION, ++ MSG_KEYNAME_CYCLEWINDOWS, MSG_KEYNAME_MAIL, ++ MSG_KEYNAME_BOOKMARKS, MSG_KEYNAME_COMPUTER, MSG_KEYNAME_BACK, ++ MSG_KEYNAME_FORWARD, MSG_KEYNAME_CLOSECD, ++ MSG_KEYNAME_EJECTCD, MSG_KEYNAME_EJECTCLOSE, MSG_KEYNAME_NEXTSONG, ++ MSG_KEYNAME_PLAYPAUSE, MSG_KEYNAME_PREVSONG, ++ MSG_KEYNAME_STOPCD, MSG_KEYNAME_RECORD, MSG_KEYNAME_REWIND, ++ MSG_KEYNAME_PHONE, MSG_KEYNAME_ISO, ++ MSG_KEYNAME_CONFIG, MSG_KEYNAME_HOMEPG, MSG_KEYNAME_REFRESH, ++ MSG_KEYNAME_EXIT, MSG_KEYNAME_MOVE, ++ MSG_KEYNAME_EDIT, MSG_KEYNAME_SCROLLUP, MSG_KEYNAME_SCROLLDN, ++ MSG_KEYNAME_KPLEFTPAR, MSG_KEYNAME_KPRIGHTPAR, ++ MSG_KEYNAMES_END = MSG_KEYNAME_KPRIGHTPAR, ++ ++ MSG_FUNCNAMES_START, ++ MSG_FUNCNAME_ATTRIB_BLEEP_DEC = MSG_FUNCNAMES_START, ++ MSG_FUNCNAME_ATTRIB_BLEEP_INC, ++ MSG_FUNCNAME_BLEEPS_DEC, MSG_FUNCNAME_BLEEPS_INC, ++ MSG_FUNCNAME_CHAR_FIRST, MSG_FUNCNAME_CHAR_LAST, ++ MSG_FUNCNAME_CHAR_CURRENT, MSG_FUNCNAME_CHAR_HEX_AND_DEC, ++ MSG_FUNCNAME_CHAR_NEXT, ++ MSG_FUNCNAME_CHAR_PHONETIC, MSG_FUNCNAME_CHAR_PREVIOUS, ++ MSG_FUNCNAME_CURSOR_PARK, MSG_FUNCNAME_CUT, ++ MSG_FUNCNAME_EDIT_DELIM, MSG_FUNCNAME_EDIT_EXNUM, ++ MSG_FUNCNAME_EDIT_MOST, MSG_FUNCNAME_EDIT_REPEATS, MSG_FUNCNAME_EDIT_SOME, ++ MSG_FUNCNAME_GOTO, MSG_FUNCNAME_GOTO_BOTTOM, MSG_FUNCNAME_GOTO_LEFT, ++ MSG_FUNCNAME_GOTO_RIGHT, MSG_FUNCNAME_GOTO_TOP, MSG_FUNCNAME_HELP, ++ MSG_FUNCNAME_LINE_SAY_CURRENT, MSG_FUNCNAME_LINE_SAY_NEXT, ++ MSG_FUNCNAME_LINE_SAY_PREVIOUS, MSG_FUNCNAME_LINE_SAY_WITH_INDENT, ++ MSG_FUNCNAME_PASTE, MSG_FUNCNAME_PITCH_DEC, MSG_FUNCNAME_PITCH_INC, ++ MSG_FUNCNAME_PUNC_DEC, MSG_FUNCNAME_PUNC_INC, ++ MSG_FUNCNAME_PUNC_LEVEL_DEC, MSG_FUNCNAME_PUNC_LEVEL_INC, ++ MSG_FUNCNAME_QUIET, ++ MSG_FUNCNAME_RATE_DEC, MSG_FUNCNAME_RATE_INC, ++ MSG_FUNCNAME_READING_PUNC_DEC, MSG_FUNCNAME_READING_PUNC_INC, ++ MSG_FUNCNAME_SAY_ATTRIBUTES, ++ MSG_FUNCNAME_SAY_FROM_LEFT, MSG_FUNCNAME_SAY_FROM_TOP, ++ MSG_FUNCNAME_SAY_POSITION, MSG_FUNCNAME_SAY_SCREEN, ++ MSG_FUNCNAME_SAY_TO_BOTTOM, MSG_FUNCNAME_SAY_TO_RIGHT, ++ MSG_FUNCNAME_SPEAKUP, MSG_FUNCNAME_SPEAKUP_LOCK, ++ MSG_FUNCNAME_SPEAKUP_OFF, MSG_FUNCNAME_SPEECH_KILL, ++ MSG_FUNCNAME_SPELL_DELAY_DEC, MSG_FUNCNAME_SPELL_DELAY_INC, ++ MSG_FUNCNAME_SPELL_WORD, MSG_FUNCNAME_SPELL_WORD_PHONETICALLY, ++ MSG_FUNCNAME_TONE_DEC, MSG_FUNCNAME_TONE_INC, ++ MSG_FUNCNAME_VOICE_DEC, MSG_FUNCNAME_VOICE_INC, ++ MSG_FUNCNAME_VOLUME_DEC, MSG_FUNCNAME_VOLUME_INC, ++ MSG_FUNCNAME_WINDOW_CLEAR, MSG_FUNCNAME_WINDOW_SAY, ++ MSG_FUNCNAME_WINDOW_SET, MSG_FUNCNAME_WINDOW_SILENCE, ++ MSG_FUNCNAME_WORD_SAY_CURRENT, MSG_FUNCNAME_WORD_SAY_NEXT, ++ MSG_FUNCNAME_WORD_SAY_PREVIOUS, ++ MSG_FUNCNAMES_END = MSG_FUNCNAME_WORD_SAY_PREVIOUS, ++ ++ /* all valid indices must be above this */ ++ MSG_LAST_INDEX ++}; ++ ++struct msg_group_t { ++ char *name; ++ enum msg_index_t start; ++ enum msg_index_t end; ++}; ++ ++extern char *msg_get(enum msg_index_t index); ++extern ssize_t msg_set(enum msg_index_t index, char *text, size_t length); ++extern struct msg_group_t *find_msg_group(const char *group_name); ++extern void reset_msg_group(struct msg_group_t *group); ++extern void initialize_msgs(void); ++extern void free_user_msgs(void); ++ ++#endif +--- a/drivers/staging/speakup/Kbuild 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/Kbuild 2009-10-04 16:44:13.000000000 +0100 +@@ -0,0 +1,29 @@ ++include $M/allmodule.mk ++obj-$(CONFIG_SPEAKUP_SYNTH_ACNTSA) += speakup_acntsa.o ++obj-$(CONFIG_SPEAKUP_SYNTH_ACNTPC) += speakup_acntpc.o ++obj-$(CONFIG_SPEAKUP_SYNTH_APOLLO) += speakup_apollo.o ++obj-$(CONFIG_SPEAKUP_SYNTH_AUDPTR) += speakup_audptr.o ++obj-$(CONFIG_SPEAKUP_SYNTH_BNS) += speakup_bns.o ++obj-$(CONFIG_SPEAKUP_SYNTH_DECTLK) += speakup_dectlk.o ++obj-$(CONFIG_SPEAKUP_SYNTH_DECEXT) += speakup_decext.o ++obj-$(CONFIG_SPEAKUP_SYNTH_DTLK) += speakup_dtlk.o ++obj-$(CONFIG_SPEAKUP_SYNTH_KEYPC) += speakup_keypc.o ++obj-$(CONFIG_SPEAKUP_SYNTH_LTLK) += speakup_ltlk.o ++obj-$(CONFIG_SPEAKUP_SYNTH_SOFT) += speakup_soft.o ++obj-$(CONFIG_SPEAKUP_SYNTH_SPKOUT) += speakup_spkout.o ++obj-$(CONFIG_SPEAKUP_SYNTH_TXPRT) += speakup_txprt.o ++obj-$(CONFIG_SPEAKUP_SYNTH_DUMMY) += speakup_dummy.o ++ ++obj-$(CONFIG_SPEAKUP) += speakup.o ++speakup-objs := \ ++ buffers.o \ ++ devsynth.o \ ++ i18n.o \ ++ main.o \ ++ keyhelp.o \ ++ kobjects.o \ ++ selection.o \ ++ serialio.o \ ++ synth.o \ ++ thread.o \ ++ varhandlers.o +--- a/drivers/staging/speakup/Kconfig 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/Kconfig 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,168 @@ ++menu "Speakup console speech" ++ ++config SPEAKUP ++ depends on VT ++ tristate "Speakup core" ++ ---help--- ++ This is the Speakup screen reader. Think of it as a ++ video console for blind people. If built in to the ++ kernel, it can speak everything on the text console from ++ boot up to shutdown. For more information on Speakup, ++ point your browser at http://www.linux-speakup.org/. ++ There is also a mailing list at the above url that you ++ can subscribe to. ++ ++ Supported synthesizers are accent sa, accent pc, ++ appollo II., Auddapter, Braille 'n Speak, Dectalk ++ external (old), Dectalk PC (full length isa board), ++ Dectalk express, Doubletalk, Doubletalk LT or ++ Litetalk, Keynote Gold internal PC, software ++ synthesizers, Speakout, transport, and a dummy module ++ that can be used with a plain text terminal. ++ ++ Speakup can either be built in or compiled as a module ++ by answering y or m. If you answer y here, then you ++ must answer either y or m to at least one of the ++ synthesizer drivers below. If you answer m here, then ++ the synthesizer drivers below can only be built as ++ modules. ++ ++ These drivers are not standalone drivers, but must be ++ used in conjunction with Speakup. Think of them as ++ video cards for blind people. ++ ++ ++ If you are not a blind person, or don't have access to ++ one of the listed synthesizers, you should say n. ++ ++if SPEAKUP ++config SPEAKUP_SYNTH_ACNTSA ++ tristate "Accent SA synthesizer support" ++ ---help--- ++ This is the Speakup driver for the Accent SA ++ synthesizer. You can say y to build it into the kernel, ++ or m to build it as a module. See the configuration ++ help on the Speakup choice above for more info. ++ ++config SPEAKUP_SYNTH_ACNTPC ++ tristate "Accent PC synthesizer support" ++ ---help--- ++ This is the Speakup driver for the accent pc ++ synthesizer. You can say y to build it into the kernel, ++ or m to build it as a module. See the configuration ++ help on the Speakup choice above for more info. ++ ++config SPEAKUP_SYNTH_APOLLO ++ tristate "Apollo II synthesizer support" ++ ---help--- ++ This is the Speakup driver for the Apollo II ++ synthesizer. You can say y to build it into the kernel, ++ or m to build it as a module. See the configuration ++ help on the Speakup choice above for more info. ++ ++config SPEAKUP_SYNTH_AUDPTR ++ tristate "Audapter synthesizer support" ++ ---help--- ++ This is the Speakup driver for the Audapter synthesizer. ++ You can say y to build it into the kernel, or m to ++ build it as a module. See the configuration help on the ++ Speakup choice above for more info. ++ ++config SPEAKUP_SYNTH_BNS ++ tristate "Braille 'n' Speak synthesizer support" ++ ---help--- ++ This is the Speakup driver for the Braille 'n' Speak ++ synthesizer. You can say y to build it into the kernel, ++ or m to build it as a module. See the configuration ++ help on the Speakup choice above for more info. ++ ++config SPEAKUP_SYNTH_DECTLK ++ tristate "DECtalk Express synthesizer support" ++ ---help--- ++ ++ This is the Speakup driver for the DecTalk Express ++ synthesizer. You can say y to build it into the kernel, ++ or m to build it as a module. See the configuration ++ help on the Speakup choice above for more info. ++ ++config SPEAKUP_SYNTH_DECEXT ++ tristate "DECtalk External (old) synthesizer support" ++ ---help--- ++ ++ This is the Speakup driver for the DecTalk External ++ (old) synthesizer. You can say y to build it into the ++ kernel, or m to build it as a module. See the ++ configuration help on the Speakup choice above for more ++ info. ++ ++config SPEAKUP_SYNTH_DTLK ++ tristate "DoubleTalk PC synthesizer support" ++ ---help--- ++ ++ This is the Speakup driver for the internal DoubleTalk ++ PC synthesizer. You can say y to build it into the ++ kernel, or m to build it as a module. See the ++ configuration help on the Speakup choice above for more ++ info. ++ ++config SPEAKUP_SYNTH_KEYPC ++ tristate "Keynote Gold PC synthesizer support" ++ ---help--- ++ ++ This is the Speakup driver for the Keynote Gold ++ PC synthesizer. You can say y to build it into the ++ kernel, or m to build it as a module. See the ++ configuration help on the Speakup choice above for more ++ info. ++ ++config SPEAKUP_SYNTH_LTLK ++ tristate "DoubleTalk LT/LiteTalk synthesizer support" ++---help--- ++ ++ This is the Speakup driver for the LiteTalk/DoubleTalk ++ LT synthesizer. You can say y to build it into the ++ kernel, or m to build it as a module. See the ++ configuration help on the Speakup choice above for more ++ info. ++ ++config SPEAKUP_SYNTH_SOFT ++ tristate "Userspace software synthesizer support" ++ ---help--- ++ ++ This is the software synthesizer device node. It will ++ register a device /dev/softsynth which midware programs ++ and speech daemons may open and read to provide kernel ++ output to software synths such as espeak, festival, ++ flite and so forth. You can select 'y' or 'm' to have ++ it built-in to the kernel or loaded as a module. ++ ++config SPEAKUP_SYNTH_SPKOUT ++ tristate "Speak Out synthesizer support" ++ ---help--- ++ ++ This is the Speakup driver for the Speakout synthesizer. ++ You can say y to build it into the kernel, or m to ++ build it as a module. See the configuration help on the ++ Speakup choice above for more info. ++ ++config SPEAKUP_SYNTH_TXPRT ++ tristate "Transport synthesizer support" ++ ---help--- ++ ++ This is the Speakup driver for the Transport ++ synthesizer. You can say y to build it into the kernel, ++ or m to build it as a module. See the configuration ++ help on the Speakup choice above for more info. ++ ++config SPEAKUP_SYNTH_DUMMY ++ tristate "Dummy synthesizer driver (for testing)" ++ ---help--- ++ ++ This is a dummy Speakup driver for plugging a mere serial ++ terminal. This is handy if you want to test speakup but ++ don't have the hardware. You can say y to build it into ++ the kernel, or m to build it as a module. See the ++ configuration help on the Speakup choice above for more info. ++ ++endif # SPEAKUP ++endmenu +--- a/drivers/staging/speakup/keyhelp.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/keyhelp.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,212 @@ ++/* speakup_keyhelp.c ++ help module for speakup ++ ++ written by David Borowski. ++ ++ Copyright (C) 2003 David Borowski. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++*/ ++ ++#include <linux/keyboard.h> ++#include "spk_priv.h" ++#include "speakup.h" ++ ++#define MAXFUNCS 130 ++#define MAXKEYS 256 ++static const int num_key_names = MSG_KEYNAMES_END - MSG_KEYNAMES_START + 1; ++static u_short key_offsets[MAXFUNCS], key_data[MAXKEYS]; ++static u_short masks[] = { 32, 16, 8, 4, 2, 1 }; ++ ++static short letter_offsets[26] = ++{ -1, -1, -1, -1, -1, -1, -1, -1, ++ -1, -1, -1, -1, -1, -1, -1, -1, ++ -1, -1, -1, -1, -1, -1, -1, -1, ++ -1, -1 }; ++ ++static u_char funcvals[] = { ++ ATTRIB_BLEEP_DEC, ATTRIB_BLEEP_INC, BLEEPS_DEC, BLEEPS_INC, ++ SAY_FIRST_CHAR, SAY_LAST_CHAR, SAY_CHAR, SAY_CHAR_NUM, ++ SAY_NEXT_CHAR, SAY_PHONETIC_CHAR, SAY_PREV_CHAR, SPEAKUP_PARKED, ++ SPEAKUP_CUT, EDIT_DELIM, EDIT_EXNUM, EDIT_MOST, ++ EDIT_REPEAT, EDIT_SOME, SPEAKUP_GOTO, BOTTOM_EDGE, ++ LEFT_EDGE, RIGHT_EDGE, TOP_EDGE, SPEAKUP_HELP, ++ SAY_LINE, SAY_NEXT_LINE, SAY_PREV_LINE, SAY_LINE_INDENT, ++ SPEAKUP_PASTE, PITCH_DEC, PITCH_INC, PUNCT_DEC, ++ PUNCT_INC, PUNC_LEVEL_DEC, PUNC_LEVEL_INC, SPEAKUP_QUIET, ++ RATE_DEC, RATE_INC, READING_PUNC_DEC, READING_PUNC_INC, ++ SAY_ATTRIBUTES, SAY_FROM_LEFT, SAY_FROM_TOP, SAY_POSITION, ++ SAY_SCREEN, SAY_TO_BOTTOM, SAY_TO_RIGHT, SPK_KEY, ++ SPK_LOCK, SPEAKUP_OFF, SPEECH_KILL, SPELL_DELAY_DEC, ++ SPELL_DELAY_INC, SPELL_WORD, SPELL_PHONETIC, TONE_DEC, ++ TONE_INC, VOICE_DEC, VOICE_INC, VOL_DEC, ++ VOL_INC, CLEAR_WIN, SAY_WIN, SET_WIN, ++ ENABLE_WIN, SAY_WORD, SAY_NEXT_WORD, SAY_PREV_WORD, 0 ++}; ++ ++static u_char *state_tbl; ++static int cur_item, nstates; ++ ++static void build_key_data(void) ++{ ++ u_char *kp, counters[MAXFUNCS], ch, ch1; ++ u_short *p_key = key_data, key; ++ int i, offset = 1; ++ nstates = (int)(state_tbl[-1]); ++ memset(counters, 0, sizeof(counters)); ++ memset(key_offsets, 0, sizeof(key_offsets)); ++ kp = state_tbl + nstates + 1; ++ while (*kp++) { ++ /* count occurrances of each function */ ++ for (i = 0; i < nstates; i++, kp++) { ++ if (!*kp) ++ continue; ++ if ((state_tbl[i]&16) != 0 && *kp == SPK_KEY) ++ continue; ++ counters[*kp]++; ++ } ++ } ++ for (i = 0; i < MAXFUNCS; i++) { ++ if (counters[i] == 0) ++ continue; ++ key_offsets[i] = offset; ++ offset += (counters[i]+1); ++ if (offset >= MAXKEYS) ++ break; ++ } ++/* leave counters set so high keycodes come first. ++ this is done so num pad and other extended keys maps are spoken before ++ the alpha with speakup type mapping. */ ++ kp = state_tbl + nstates + 1; ++ while ((ch = *kp++)) { ++ for (i = 0; i < nstates; i++) { ++ ch1 = *kp++; ++ if (!ch1) ++ continue; ++ if ((state_tbl[i]&16) != 0 && ch1 == SPK_KEY) ++ continue; ++ key = (state_tbl[i] << 8) + ch; ++ counters[ch1]--; ++ offset = key_offsets[ch1]; ++ if (!offset) ++ continue; ++ p_key = key_data + offset + counters[ch1]; ++ *p_key = key; ++ } ++ } ++} ++ ++static void say_key(int key) ++{ ++ int i, state = key >> 8; ++ key &= 0xff; ++ for (i = 0; i < 6; i++) { ++ if (state & masks[i]) ++ synth_printf(" %s", msg_get(MSG_STATES_START + i)); ++ } ++ if ((key > 0) && (key <= num_key_names)) ++ synth_printf(" %s\n", msg_get(MSG_KEYNAMES_START + (key - 1))); ++} ++ ++static int help_init(void) ++{ ++ char start = SPACE; ++ int i; ++ int num_funcs = MSG_FUNCNAMES_END - MSG_FUNCNAMES_START + 1; ++state_tbl = our_keys[0]+SHIFT_TBL_SIZE+2; ++ for (i = 0; i < num_funcs; i++) { ++ char *cur_funcname = msg_get(MSG_FUNCNAMES_START + i); ++ if (start == *cur_funcname) ++ continue; ++ start = *cur_funcname; ++ letter_offsets[(start&31)-1] = i; ++ } ++ return 0; ++} ++ ++int handle_help(struct vc_data *vc, u_char type, u_char ch, u_short key) ++{ ++ int i, n; ++ char *name; ++ u_char func, *kp; ++ u_short *p_keys, val; ++ if (letter_offsets[0] == -1) ++ help_init(); ++ if (type == KT_LATIN) { ++ if (ch == SPACE) { ++ special_handler = NULL; ++ synth_printf("%s\n", msg_get(MSG_LEAVING_HELP)); ++ return 1; ++ } ++ ch |= 32; /* lower case */ ++ if (ch < 'a' || ch > 'z') ++ return -1; ++ if (letter_offsets[ch-'a'] == -1) { ++ synth_printf(msg_get(MSG_NO_COMMAND), ch); ++ synth_printf("\n"); ++ return 1; ++ } ++ cur_item = letter_offsets[ch-'a']; ++ } else if (type == KT_CUR) { ++ if (ch == 0 && (cur_item + 1) <= MSG_FUNCNAMES_END) ++ cur_item++; ++ else if (ch == 3 && cur_item > 0) ++ cur_item--; ++ else ++ return -1; ++ } else if (type == KT_SPKUP && ch == SPEAKUP_HELP && !special_handler) { ++ special_handler = handle_help; ++ synth_printf("%s\n", msg_get(MSG_HELP_INFO)); ++ build_key_data(); /* rebuild each time in case new mapping */ ++ return 1; ++ } else { ++ name = NULL; ++ if ((type != KT_SPKUP) && (key > 0) && (key <= num_key_names)) { ++ synth_printf("%s\n", msg_get(MSG_KEYNAMES_START + key-1)); ++ return 1; ++ } ++ for (i = 0; funcvals[i] != 0 && !name; i++) { ++ if (ch == funcvals[i]) ++ name = msg_get(MSG_FUNCNAMES_START + i); ++ } ++ if (!name) ++ return -1; ++ kp = our_keys[key]+1; ++ for (i = 0; i < nstates; i++) { ++ if (ch == kp[i]) ++ break; ++ } ++ key += (state_tbl[i] << 8); ++ say_key(key); ++ synth_printf(msg_get(MSG_KEYDESC), name); ++ synth_printf("\n"); ++ return 1; ++ } ++ name = msg_get(MSG_FUNCNAMES_START + cur_item); ++ func = funcvals[cur_item]; ++ synth_printf("%s", name); ++ if (key_offsets[func] == 0) { ++ synth_printf(" %s\n", msg_get(MSG_IS_UNASSIGNED)); ++ return 1; ++ } ++ p_keys = key_data + key_offsets[func]; ++ for (n = 0; p_keys[n]; n++) { ++ val = p_keys[n]; ++ if (n > 0) ++ synth_printf("%s ", msg_get(MSG_DISJUNCTION)); ++ say_key(val); ++ } ++ return 1; ++} +--- a/drivers/staging/speakup/kobjects.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/kobjects.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,986 @@ ++/* ++ * Speakup kobject implementation ++ * ++ * Copyright (C) 2009 William Hubbs ++ * ++ * This code is based on kobject-example.c, which came with linux 2.6.x. ++ * ++ * Copyright (C) 2004-2007 Greg Kroah-Hartman <greg@kroah.com> ++ * Copyright (C) 2007 Novell Inc. ++ * ++ * Released under the GPL version 2 only. ++ * ++ */ ++#include <linux/kernel.h> ++#include <linux/kobject.h> ++#include <linux/string.h> ++#include <linux/sysfs.h> ++#include <linux/ctype.h> ++ ++#include "speakup.h" ++#include "spk_priv.h" ++ ++/* ++ * This is called when a user reads the characters or chartab sys file. ++ */ ++static ssize_t chars_chartab_show(struct kobject *kobj, ++ struct kobj_attribute *attr, char *buf) ++{ ++ int i; ++ int len = 0; ++ char *cp; ++ char *buf_pointer = buf; ++ size_t bufsize = PAGE_SIZE; ++ unsigned long flags; ++ ++ spk_lock(flags); ++ *buf_pointer = '\0'; ++ for (i = 0; i < 256; i++) { ++ if (bufsize <= 1) ++ break; ++ if (strcmp("characters", attr->attr.name) == 0) { ++ len = scnprintf(buf_pointer, bufsize, "%d\t%s\n", ++ i, characters[i]); ++ } else { /* show chartab entry */ ++ if (IS_TYPE(i, B_CTL)) ++ cp = "B_CTL"; ++ else if (IS_TYPE(i, WDLM)) ++ cp = "WDLM"; ++ else if (IS_TYPE(i, A_PUNC)) ++ cp = "A_PUNC"; ++ else if (IS_TYPE(i, PUNC)) ++ cp = "PUNC"; ++ else if (IS_TYPE(i, NUM)) ++ cp = "NUM"; ++ else if (IS_TYPE(i, A_CAP)) ++ cp = "A_CAP"; ++ else if (IS_TYPE(i, ALPHA)) ++ cp = "ALPHA"; ++ else if (IS_TYPE(i, B_CAPSYM)) ++ cp = "B_CAPSYM"; ++ else if (IS_TYPE(i, B_SYM)) ++ cp = "B_SYM"; ++ else ++ cp = "0"; ++ len = ++ scnprintf(buf_pointer, bufsize, "%d\t%s\n", i, cp); ++ } ++ bufsize -= len; ++ buf_pointer += len; ++ } ++ spk_unlock(flags); ++ return buf_pointer - buf; ++} ++ ++/* ++ * Print informational messages or warnings after updating ++ * character descriptions or chartab entries. ++ */ ++static void report_char_chartab_status(int reset, int received, int used, ++ int rejected, int do_characters) ++{ ++ char *object_type[] = { ++ "character class entries", ++ "character descriptions", ++ }; ++ int len; ++ char buf[80]; ++ ++ if (reset) { ++ pr_info("%s reset to defaults\n", object_type[do_characters]); ++ } else if (received ) { ++ len = snprintf(buf, sizeof(buf), ++ " updated %d of %d %s\n", ++ used, received, object_type[do_characters]); ++ if (rejected) ++ snprintf(buf + (len - 1), sizeof(buf) - (len - 1), ++ " with %d reject%s\n", ++ rejected, rejected > 1 ? "s" : ""); ++ printk(buf); ++ } ++} ++ ++/* ++ * This is called when a user changes the characters or chartab parameters. ++ */ ++static ssize_t chars_chartab_store(struct kobject *kobj, ++ struct kobj_attribute *attr, const char *buf, size_t count) ++{ ++ char *cp = (char *) buf; ++ char *end = cp + count; /* the null at the end of the buffer */ ++ char *linefeed = NULL; ++ char keyword[MAX_DESC_LEN + 1]; ++ char *outptr = NULL; /* Will hold keyword or desc. */ ++ char *temp = NULL; ++ char *desc = NULL; ++ ssize_t retval = count; ++ unsigned long flags; ++ unsigned long index = 0; ++ int charclass = 0; ++ int received = 0; ++ int used = 0; ++ int rejected = 0; ++ int reset = 0; ++ int do_characters = !strcmp(attr->attr.name, "characters"); ++ size_t desc_length = 0; ++ int i; ++ ++ spk_lock(flags); ++ while (cp < end) { ++ ++ while ((cp < end) && (*cp == ' ' || *cp == '\t')) ++ cp++; ++ ++ if (cp == end) ++ break; ++ if ((*cp == '\n') || strchr("dDrR", *cp)) { ++ reset = 1; ++ break; ++ } ++ received++; ++ ++ linefeed = strchr(cp, '\n'); ++ if (!linefeed) { ++ rejected++; ++ break; ++ } ++ ++ if (! isdigit(*cp)) { ++ rejected++; ++ cp = linefeed + 1; ++ continue; ++ } ++ ++ index = simple_strtoul(cp, &temp, 10); ++ if (index > 255) { ++ rejected++; ++ cp = linefeed + 1; ++ continue; ++ } ++ ++ while ((temp < linefeed) && (*temp == ' ' || *temp == '\t')) ++ temp++; ++ ++ desc_length = linefeed - temp; ++ if (desc_length > MAX_DESC_LEN) { ++ rejected++; ++ cp = linefeed + 1; ++ continue; ++ } ++ if (do_characters) { ++ desc = kmalloc(desc_length + 1, GFP_ATOMIC); ++ if (! desc) { ++ retval = -ENOMEM; ++ reset = 1; /* just reset on error. */ ++ break; ++ } ++ outptr = desc; ++ } else { ++ outptr = keyword; ++ } ++ ++ for (i = 0; i < desc_length; i++) ++ outptr[i] = temp[i]; ++ outptr[desc_length] = '\0'; ++ ++ if (do_characters) { ++ if (characters[index] != default_chars[index]) ++ kfree(characters[index]); ++ characters[index] = desc; ++ used++; ++ } else { ++ charclass = chartab_get_value(keyword); ++ if (charclass == 0) { ++ rejected++; ++ cp = linefeed + 1; ++ continue; ++ } ++ if (charclass != spk_chartab[index]) { ++ spk_chartab[index] = charclass; ++ used++; ++ } ++ } ++ cp = linefeed + 1; ++ } ++ ++ if (reset) { ++ if (do_characters) ++ reset_default_chars(); ++ else ++ reset_default_chartab(); ++ } ++ ++ spk_unlock(flags); ++ report_char_chartab_status(reset, received, used, rejected, do_characters); ++ return retval; ++} ++ ++/* ++ * This is called when a user reads the keymap parameter. ++ */ ++static ssize_t keymap_show(struct kobject *kobj, struct kobj_attribute *attr, ++ char *buf) ++{ ++ char *cp = buf; ++ int i; ++ int n; ++ int num_keys; ++ int nstates; ++ u_char *cp1; ++ u_char ch; ++ unsigned long flags; ++ spk_lock(flags); ++ cp1 = key_buf + SHIFT_TBL_SIZE; ++ num_keys = (int)(*cp1); ++ nstates = (int)cp1[1]; ++ cp += sprintf(cp, "%d, %d, %d,\n", KEY_MAP_VER, num_keys, nstates); ++ cp1 += 2; /* now pointing at shift states */ ++/* dump num_keys+1 as first row is shift states + flags, ++ each subsequent row is key + states */ ++ for (n = 0; n <= num_keys; n++) { ++ for (i = 0; i <= nstates; i++) { ++ ch = *cp1++; ++ cp += sprintf(cp, "%d,", (int)ch); ++ *cp++ = (i < nstates) ? SPACE : '\n'; ++ } ++ } ++ cp += sprintf(cp, "0, %d\n", KEY_MAP_VER); ++ spk_unlock(flags); ++ return (int)(cp-buf); ++} ++ ++/* ++ * This is called when a user changes the keymap parameter. ++ */ ++static ssize_t keymap_store(struct kobject *kobj, struct kobj_attribute *attr, ++ const char *buf, size_t count) ++{ ++ int i; ++ ssize_t ret = count; ++ char *in_buff = NULL; ++ char *cp; ++ u_char *cp1; ++ unsigned long flags; ++ ++ spk_lock(flags); ++ in_buff = kmalloc(count + 1, GFP_ATOMIC); ++ if (! in_buff) { ++ spk_unlock(flags); ++ return -ENOMEM; ++ } ++ memcpy(in_buff, buf, count + 1); ++ if (strchr("dDrR", *in_buff)) { ++ set_key_info(key_defaults, key_buf); ++ pr_info("keymap set to default values\n"); ++ kfree(in_buff); ++ spk_unlock(flags); ++ return count; ++ } ++ if (in_buff[count - 1] == '\n') ++ in_buff[count - 1] = '\0'; ++ cp = in_buff; ++ cp1 = (u_char *)in_buff; ++ for (i = 0; i < 3; i++) { ++ cp = s2uchar(cp, cp1); ++ cp1++; ++ } ++ i = (int)cp1[-2]+1; ++ i *= (int)cp1[-1]+1; ++ i += 2; /* 0 and last map ver */ ++ if (cp1[-3] != KEY_MAP_VER || cp1[-1] > 10 || ++ i+SHIFT_TBL_SIZE+4 >= sizeof(key_buf)) { ++ pr_warn("i %d %d %d %d\n", i, ++ (int)cp1[-3], (int)cp1[-2], (int)cp1[-1]); ++ kfree(in_buff); ++ spk_unlock(flags); ++ return -EINVAL; ++ } ++ while (--i >= 0) { ++ cp = s2uchar(cp, cp1); ++ cp1++; ++ if (!(*cp)) ++ break; ++ } ++ if (i != 0 || cp1[-1] != KEY_MAP_VER || cp1[-2] != 0) { ++ ret = -EINVAL; ++ pr_warn("end %d %d %d %d\n", i, ++ (int)cp1[-3], (int)cp1[-2], (int)cp1[-1]); ++ } else { ++ if (set_key_info(in_buff, key_buf)) { ++ set_key_info(key_defaults, key_buf); ++ ret = -EINVAL; ++ pr_warn("set key failed\n"); ++ } ++ } ++ kfree(in_buff); ++ spk_unlock(flags); ++ return ret; ++} ++ ++/* ++ * This is called when a user changes the value of the silent parameter. ++ */ ++static ssize_t silent_store(struct kobject *kobj, struct kobj_attribute *attr, ++ const char *buf, size_t count) ++{ ++ int len; ++ struct vc_data *vc = vc_cons[fg_console].d; ++ char ch = 0; ++ char shut; ++ unsigned long flags; ++ ++ len = strlen(buf); ++ if (len > 0 || len < 3) { ++ ch = buf[0]; ++ if (ch == '\n') ++ ch = '0'; ++ } ++ if (ch < '0' || ch > '7') { ++ pr_warn("silent value '%c' not in range (0,7)\n", ch); ++ return -EINVAL; ++ } ++ spk_lock(flags); ++ if (ch&2) { ++ shut = 1; ++ do_flush(); ++ } else { ++ shut = 0; ++ } ++ if (ch&4) ++ shut |= 0x40; ++ if (ch&1) ++ spk_shut_up |= shut; ++ else ++ spk_shut_up &= ~shut; ++ spk_unlock(flags); ++ return count; ++} ++ ++/* ++ * This is called when a user reads the synth setting. ++ */ ++static ssize_t synth_show(struct kobject *kobj, struct kobj_attribute *attr, ++ char *buf) ++{ ++ int rv; ++ ++ if (synth == NULL) ++ rv = sprintf(buf, "%s\n", "none"); ++ else ++ rv = sprintf(buf, "%s\n", synth->name); ++ return rv; ++} ++ ++/* ++ * This is called when a user requests to change synthesizers. ++ */ ++static ssize_t synth_store(struct kobject *kobj, struct kobj_attribute *attr, ++ const char *buf, size_t count) ++{ ++ int len; ++ char new_synth_name[10]; ++ ++ len = strlen(buf); ++ if (len < 2 || len > 9) ++ return -EINVAL; ++ strncpy(new_synth_name, buf, len); ++ if (new_synth_name[len - 1] == '\n') ++ len--; ++ new_synth_name[len] = '\0'; ++ strlwr(new_synth_name); ++ if ((synth != NULL) && (!strcmp(new_synth_name, synth->name))) { ++ pr_warn("%s already in use\n", new_synth_name); ++ } else if (synth_init(new_synth_name) != 0) { ++ pr_warn("failed to init synth %s\n", new_synth_name); ++ return -ENODEV; ++ } ++ return count; ++} ++ ++/* ++ * This is called when text is sent to the synth via the synth_direct file. ++ */ ++static ssize_t synth_direct_store(struct kobject *kobj, struct kobj_attribute *attr, ++ const char *buf, size_t count) ++{ ++ u_char tmp[256]; ++ int len; ++ int bytes; ++ const char *ptr = buf; ++ ++ if (! synth) ++ return -EPERM; ++ ++ len = strlen(buf); ++ while (len > 0) { ++ bytes = min_t(size_t, len, 250); ++ strncpy(tmp, ptr, bytes); ++ tmp[bytes] = '\0'; ++ xlate(tmp); ++ synth_printf("%s", tmp); ++ ptr += bytes; ++ len -= bytes; ++ } ++ return count; ++} ++ ++/* ++ * This function is called when a user reads the version. ++ */ ++static ssize_t version_show(struct kobject *kobj, struct kobj_attribute *attr, ++ char *buf) ++{ ++ char *cp; ++ ++ cp = buf; ++ cp += sprintf(cp, "Speakup version %s\n", SPEAKUP_VERSION); ++ if (synth) ++ cp += sprintf(cp, "%s synthesizer driver version %s\n", ++ synth->name, synth->version); ++ return cp - buf; ++} ++ ++/* ++ * This is called when a user reads the punctuation settings. ++ */ ++static ssize_t punc_show(struct kobject *kobj, struct kobj_attribute *attr, ++ char *buf) ++{ ++ int i; ++ char *cp = buf; ++ struct st_var_header *p_header; ++ struct punc_var_t *var; ++ struct st_bits_data *pb; ++ short mask; ++ unsigned long flags; ++ ++ p_header = var_header_by_name(attr->attr.name); ++ if (p_header == NULL) { ++ pr_warn("p_header is null, attr->attr.name is %s\n", attr->attr.name); ++ return -EINVAL; ++ } ++ ++ var = get_punc_var(p_header->var_id); ++ if (var == NULL) { ++ pr_warn("var is null, p_header->var_id is %i\n", ++ p_header->var_id); ++ return -EINVAL; ++ } ++ ++ spk_lock(flags); ++ pb = (struct st_bits_data *) &punc_info[var->value]; ++ mask = pb->mask; ++ for (i = 33; i < 128; i++) { ++ if (!(spk_chartab[i]&mask)) ++ continue; ++ *cp++ = (char)i; ++ } ++ spk_unlock(flags); ++ return cp-buf; ++} ++ ++/* ++ * This is called when a user changes the punctuation settings. ++ */ ++static ssize_t punc_store(struct kobject *kobj, struct kobj_attribute *attr, ++ const char *buf, size_t count) ++{ ++ int x; ++ struct st_var_header *p_header; ++ struct punc_var_t *var; ++ char punc_buf[100]; ++ unsigned long flags; ++ ++ x = strlen(buf); ++ if (x < 1 || x > 99) ++ return -EINVAL; ++ ++ p_header = var_header_by_name(attr->attr.name); ++ if (p_header == NULL) { ++ pr_warn("p_header is null, attr->attr.name is %s\n", attr->attr.name); ++ return -EINVAL; ++ } ++ ++ var = get_punc_var(p_header->var_id); ++ if (var == NULL) { ++ pr_warn("var is null, p_header->var_id is %i\n", ++ p_header->var_id); ++ return -EINVAL; ++ } ++ ++ strncpy(punc_buf, buf, x); ++ ++ while (x && punc_buf[x - 1] == '\n') ++ x--; ++ punc_buf[x] = '\0'; ++ ++ spk_lock(flags); ++ ++ if (*punc_buf == 'd' || *punc_buf == 'r') ++ x = set_mask_bits(0, var->value, 3); ++ else ++ x = set_mask_bits(punc_buf, var->value, 3); ++ ++ spk_unlock(flags); ++ return count; ++} ++ ++/* ++ * This function is called when a user reads one of the variable parameters. ++ */ ++ssize_t spk_var_show(struct kobject *kobj, struct kobj_attribute *attr, ++ char *buf) ++{ ++ int rv = 0; ++ struct st_var_header *param; ++ struct var_t *var; ++ char *cp1; ++ char *cp; ++ char ch; ++ unsigned long flags; ++ ++ param = var_header_by_name(attr->attr.name); ++ if (param == NULL) ++ return -EINVAL; ++ ++ spk_lock(flags); ++ var = (struct var_t *) param->data; ++ switch (param->var_type) { ++ case VAR_NUM: ++ case VAR_TIME: ++ if (var) ++ rv = sprintf(buf, "%i\n", var->u.n.value); ++ else ++ rv = sprintf(buf, "0\n"); ++ break; ++ case VAR_STRING: ++ if (var) { ++ cp1 = buf; ++ *cp1++ = '"'; ++ for (cp = (char *)param->p_val; (ch = *cp); cp++) { ++ if (ch >= ' ' && ch < '~') ++ *cp1++ = ch; ++ else ++ cp1 += sprintf(cp1, "\\""x%02x", ch); ++ } ++ *cp1++ = '"'; ++ *cp1++ = '\n'; ++ *cp1 = '\0'; ++ rv = cp1-buf; ++ } else { ++ rv = sprintf(buf, "\"\"\n"); ++ } ++ break; ++ default: ++ rv = sprintf(buf, "Bad parameter %s, type %i\n", ++ param->name, param->var_type); ++ break; ++ } ++ spk_unlock(flags); ++ return rv; ++} ++EXPORT_SYMBOL_GPL(spk_var_show); ++ ++/* ++ * This function is called when a user echos a value to one of the ++ * variable parameters. ++ */ ++ssize_t spk_var_store(struct kobject *kobj, struct kobj_attribute *attr, ++ const char *buf, size_t count) ++{ ++ struct st_var_header *param; ++ int ret; ++ int len; ++ char *cp; ++ struct var_t *var_data; ++ int value; ++ unsigned long flags; ++ ++ param = var_header_by_name(attr->attr.name); ++ if (param == NULL) ++ return -EINVAL; ++ if (param->data == NULL) ++ return 0; ++ ret = 0; ++ cp = xlate((char *) buf); ++ ++ spk_lock(flags); ++ switch (param->var_type) { ++ case VAR_NUM: ++ case VAR_TIME: ++ if (*cp == 'd' || *cp == 'r' || *cp == '\0') ++ len = E_DEFAULT; ++ else if (*cp == '+' || *cp == '-') ++ len = E_INC; ++ else ++ len = E_SET; ++ speakup_s2i(cp, &value); ++ ret = set_num_var(value, param, len); ++ if (ret == E_RANGE) { ++ var_data = param->data; ++ pr_warn("value for %s out of range, expect %d to %d\n", ++ attr->attr.name, ++ var_data->u.n.low, var_data->u.n.high); ++ } ++ break; ++ case VAR_STRING: ++ len = strlen(buf); ++ if ((len >= 1) && (buf[len - 1] == '\n')) ++ --len; ++ if ((len >= 2) && (buf[0] == '"') && (buf[len - 1] == '"')) { ++ ++buf; ++ len -= 2; ++ } ++ cp = (char *) buf; ++ cp[len] = '\0'; ++ ret = set_string_var(buf, param, len); ++ if (ret == E_TOOLONG) ++ pr_warn("value too long for %s\n", ++ attr->attr.name); ++ break; ++ default: ++ pr_warn("%s unknown type %d\n", ++ param->name, (int)param->var_type); ++ break; ++ } ++ spk_unlock(flags); ++ ++ if (ret == SET_DEFAULT) ++ pr_info("%s reset to default value\n", attr->attr.name); ++ return count; ++} ++EXPORT_SYMBOL_GPL(spk_var_store); ++ ++/* ++ * Functions for reading and writing lists of i18n messages. Incomplete. ++ */ ++ ++static ssize_t message_show_helper(char *buf, enum msg_index_t first, ++ enum msg_index_t last) ++{ ++ size_t bufsize = PAGE_SIZE; ++ char *buf_pointer = buf; ++ int printed; ++ enum msg_index_t cursor; ++ int index = 0; ++ *buf_pointer = '\0'; /* buf_pointer always looking at a NUL byte. */ ++ ++ for (cursor = first; cursor <= last; cursor++, index++) { ++ if (bufsize <= 1) ++ break; ++ printed = scnprintf(buf_pointer, bufsize, "%d\t%s\n", ++ index, msg_get(cursor)); ++ buf_pointer += printed; ++ bufsize -= printed; ++ } ++ ++ return buf_pointer - buf; ++} ++ ++static void report_msg_status(int reset, int received, int used, ++ int rejected, char *groupname) ++{ ++ int len; ++ char buf[160]; ++ ++ if (reset) { ++ pr_info("i18n messages from group %s reset to defaults\n", ++ groupname); ++ } else if (received ) { ++ len = snprintf(buf, sizeof(buf), ++ " updated %d of %d i18n messages from group %s\n", ++ used, received, groupname); ++ if (rejected) ++ snprintf(buf + (len - 1), sizeof(buf) - (len - 1), ++ " with %d reject%s\n", ++ rejected, rejected > 1 ? "s" : ""); ++ printk(buf); ++ } ++} ++ ++static ssize_t message_store_helper(const char *buf, size_t count, ++ struct msg_group_t *group) ++{ ++ char *cp = (char *) buf; ++ char *end = cp + count; ++ char *linefeed = NULL; ++ char *temp = NULL; ++ ssize_t msg_stored = 0; ++ ssize_t retval = count; ++ size_t desc_length = 0; ++ unsigned long index = 0; ++ int received = 0; ++ int used = 0; ++ int rejected = 0; ++ int reset = 0; ++ enum msg_index_t firstmessage = group->start; ++ enum msg_index_t lastmessage = group->end; ++ enum msg_index_t curmessage; ++ ++ while (cp < end) { ++ ++ while ((cp < end) && (*cp == ' ' || *cp == '\t')) ++ cp++; ++ ++ if (cp == end) ++ break; ++ if (strchr("dDrR", *cp)) { ++ reset = 1; ++ break; ++ } ++ received++; ++ ++ linefeed = strchr(cp, '\n'); ++ if (!linefeed) { ++ rejected++; ++ break; ++ } ++ ++ if (! isdigit(*cp)) { ++ rejected++; ++ cp = linefeed + 1; ++ continue; ++ } ++ ++ index = simple_strtoul(cp, &temp, 10); ++ ++ while ((temp < linefeed) && (*temp == ' ' || *temp == '\t')) ++ temp++; ++ ++ desc_length = linefeed - temp; ++ curmessage = firstmessage + index; ++ ++ /* ++ * Note the check (curmessage < firstmessage). It is not ++ * redundant. Suppose that the user gave us an index ++ * equal to ULONG_MAX - 1. If firstmessage > 1, then ++ * firstmessage + index < firstmessage! ++ */ ++ ++ if ((curmessage < firstmessage) || (curmessage > lastmessage)) { ++ rejected++; ++ cp = linefeed + 1; ++ continue; ++ } ++ ++ msg_stored = msg_set(curmessage, temp, desc_length); ++ if (msg_stored < 0) { ++ retval = msg_stored; ++ if (msg_stored == -ENOMEM) ++ reset = 1; ++ break; ++ } else { ++ used++; ++ } ++ ++ cp = linefeed + 1; ++ } ++ ++ if (reset) ++ reset_msg_group(group); ++ ++ report_msg_status(reset, received, used, rejected, group->name); ++ return retval; ++} ++ ++static ssize_t message_show(struct kobject *kobj, ++ struct kobj_attribute *attr, char *buf) ++{ ++ ssize_t retval = 0; ++ struct msg_group_t *group = find_msg_group(attr->attr.name); ++ unsigned long flags; ++ ++ BUG_ON(! group); ++ spk_lock(flags); ++ retval = message_show_helper(buf, group->start, group->end); ++ spk_unlock(flags); ++ return retval; ++} ++ ++static ssize_t message_store(struct kobject *kobj, struct kobj_attribute *attr, ++ const char *buf, size_t count) ++{ ++ ssize_t retval = 0; ++ struct msg_group_t *group = find_msg_group(attr->attr.name); ++ ++ BUG_ON(! group); ++ retval = message_store_helper(buf, count, group); ++ return retval; ++} ++ ++/* ++ * Declare the attributes. ++ */ ++static struct kobj_attribute keymap_attribute = ++ __ATTR(keymap, ROOT_W, keymap_show, keymap_store); ++static struct kobj_attribute silent_attribute = ++ __ATTR(silent, USER_W, NULL, silent_store); ++static struct kobj_attribute synth_attribute = ++ __ATTR(synth, USER_RW, synth_show, synth_store); ++static struct kobj_attribute synth_direct_attribute = ++ __ATTR(synth_direct, USER_W, NULL, synth_direct_store); ++static struct kobj_attribute version_attribute = ++ __ATTR_RO(version); ++ ++static struct kobj_attribute delimiters_attribute = ++ __ATTR(delimiters, USER_RW, punc_show, punc_store); ++static struct kobj_attribute ex_num_attribute = ++ __ATTR(ex_num, USER_RW, punc_show, punc_store); ++static struct kobj_attribute punc_all_attribute = ++ __ATTR(punc_all, USER_RW, punc_show, punc_store); ++static struct kobj_attribute punc_most_attribute = ++ __ATTR(punc_most, USER_RW, punc_show, punc_store); ++static struct kobj_attribute punc_some_attribute = ++ __ATTR(punc_some, USER_RW, punc_show, punc_store); ++static struct kobj_attribute repeats_attribute = ++ __ATTR(repeats, USER_RW, punc_show, punc_store); ++ ++static struct kobj_attribute attrib_bleep_attribute = ++ __ATTR(attrib_bleep, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute bell_pos_attribute = ++ __ATTR(bell_pos, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute bleep_time_attribute = ++ __ATTR(bleep_time, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute bleeps_attribute = ++ __ATTR(bleeps, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute cursor_time_attribute = ++ __ATTR(cursor_time, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute key_echo_attribute = ++ __ATTR(key_echo, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute no_interrupt_attribute = ++ __ATTR(no_interrupt, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute punc_level_attribute = ++ __ATTR(punc_level, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute reading_punc_attribute = ++ __ATTR(reading_punc, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute say_control_attribute = ++ __ATTR(say_control, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute say_word_ctl_attribute = ++ __ATTR(say_word_ctl, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute spell_delay_attribute = ++ __ATTR(spell_delay, USER_RW, spk_var_show, spk_var_store); ++ ++/* ++ * These attributes are i18n related. ++ */ ++static struct kobj_attribute announcements_attribute = ++ __ATTR(announcements, USER_RW, message_show, message_store); ++static struct kobj_attribute characters_attribute = ++ __ATTR(characters, USER_RW, chars_chartab_show, chars_chartab_store); ++static struct kobj_attribute chartab_attribute = ++ __ATTR(chartab, USER_RW, chars_chartab_show, chars_chartab_store); ++static struct kobj_attribute ctl_keys_attribute = ++ __ATTR(ctl_keys, USER_RW, message_show, message_store); ++static struct kobj_attribute colors_attribute = ++ __ATTR(colors, USER_RW, message_show, message_store); ++static struct kobj_attribute formatted_attribute = ++ __ATTR(formatted, USER_RW, message_show, message_store); ++static struct kobj_attribute function_names_attribute = ++ __ATTR(function_names, USER_RW, message_show, message_store); ++static struct kobj_attribute key_names_attribute = ++ __ATTR(key_names, USER_RW, message_show, message_store); ++static struct kobj_attribute states_attribute = ++ __ATTR(states, USER_RW, message_show, message_store); ++ ++/* ++ * Create groups of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *main_attrs[] = { ++ &keymap_attribute.attr, ++ &silent_attribute.attr, ++ &synth_attribute.attr, ++ &synth_direct_attribute.attr, ++ &version_attribute.attr, ++ &delimiters_attribute.attr, ++ &ex_num_attribute.attr, ++ &punc_all_attribute.attr, ++ &punc_most_attribute.attr, ++ &punc_some_attribute.attr, ++ &repeats_attribute.attr, ++ &attrib_bleep_attribute.attr, ++ &bell_pos_attribute.attr, ++ &bleep_time_attribute.attr, ++ &bleeps_attribute.attr, ++ &cursor_time_attribute.attr, ++ &key_echo_attribute.attr, ++ &no_interrupt_attribute.attr, ++ &punc_level_attribute.attr, ++ &reading_punc_attribute.attr, ++ &say_control_attribute.attr, ++ &say_word_ctl_attribute.attr, ++ &spell_delay_attribute.attr, ++ NULL, ++}; ++ ++static struct attribute *i18n_attrs[] = { ++ &announcements_attribute.attr, ++ &characters_attribute.attr, ++ &chartab_attribute.attr, ++ &ctl_keys_attribute.attr, ++ &colors_attribute.attr, ++ &formatted_attribute.attr, ++ &function_names_attribute.attr, ++ &key_names_attribute.attr, ++ &states_attribute.attr, ++ NULL, ++}; ++ ++/* ++ * An unnamed attribute group will put all of the attributes directly in ++ * the kobject directory. If we specify a name, a subdirectory will be ++ * created for the attributes with the directory being the name of the ++ * attribute group. ++ */ ++static struct attribute_group main_attr_group = { ++ .attrs = main_attrs, ++}; ++ ++static struct attribute_group i18n_attr_group = { ++ .attrs = i18n_attrs, ++ .name = "i18n", ++}; ++ ++static struct kobject *accessibility_kobj; ++struct kobject *speakup_kobj; ++ ++int speakup_kobj_init(void) ++{ ++ int retval; ++ ++ /* ++ * Create a simple kobject with the name of "accessibility", ++ * located under /sys/ ++ * ++ * As this is a simple directory, no uevent will be sent to ++ * userspace. That is why this function should not be used for ++ * any type of dynamic kobjects, where the name and number are ++ * not known ahead of time. ++ */ ++ accessibility_kobj = kobject_create_and_add("accessibility", NULL); ++ if (!accessibility_kobj) ++ return -ENOMEM; ++ ++ speakup_kobj = kobject_create_and_add("speakup", accessibility_kobj); ++ if (!speakup_kobj) { ++ kobject_put(accessibility_kobj); ++ return -ENOMEM; ++ } ++ ++ /* Create the files associated with this kobject */ ++ retval = sysfs_create_group(speakup_kobj, &main_attr_group); ++ if (retval) ++ speakup_kobj_exit(); ++ ++ retval = sysfs_create_group(speakup_kobj, &i18n_attr_group); ++ if (retval) ++ speakup_kobj_exit(); ++ ++ return retval; ++} ++ ++void speakup_kobj_exit(void) ++{ ++ kobject_put(speakup_kobj); ++ kobject_put(accessibility_kobj); ++} +--- a/drivers/staging/speakup/main.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/main.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,2284 @@ ++/* speakup.c ++ review functions for the speakup screen review package. ++ originally written by: Kirk Reiser and Andy Berdan. ++ ++ extensively modified by David Borowski. ++ ++ Copyright (C) 1998 Kirk Reiser. ++ Copyright (C) 2003 David Borowski. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++*/ ++ ++#include <linux/kernel.h> ++#include <linux/version.h> ++#include <linux/vt.h> ++#include <linux/tty.h> ++#include <linux/mm.h> /* __get_free_page() and friends */ ++#include <linux/vt_kern.h> ++#include <linux/ctype.h> ++#include <linux/selection.h> ++#include <linux/unistd.h> ++#include <linux/jiffies.h> ++#include <linux/kthread.h> ++#include <linux/keyboard.h> /* for KT_SHIFT */ ++#include <linux/kbd_kern.h> /* for vc_kbd_* and friends */ ++#include <linux/input.h> ++#include <linux/kmod.h> ++ ++#include <linux/bootmem.h> /* for alloc_bootmem */ ++ ++/* speakup_*_selection */ ++#include <linux/module.h> ++#include <linux/sched.h> ++#include <linux/slab.h> ++#include <linux/types.h> ++#include <linux/consolemap.h> ++ ++#include <linux/spinlock.h> ++#include <linux/notifier.h> ++ ++#include <linux/uaccess.h> /* copy_from|to|user() and others */ ++ ++#include "spk_priv.h" ++#include "speakup.h" ++ ++#define MAX_DELAY msecs_to_jiffies(500) ++#define MINECHOCHAR SPACE ++ ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("Daniel Drake <dsd@gentoo.org>"); ++MODULE_DESCRIPTION("Speakup console speech"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(SPEAKUP_VERSION); ++ ++char *synth_name; ++module_param_named(synth, synth_name, charp, S_IRUGO); ++module_param_named(quiet, quiet_boot, bool, S_IRUGO); ++ ++MODULE_PARM_DESC(synth, "Synth to start if speakup is built in."); ++MODULE_PARM_DESC(quiet, "Do not announce when the synthesizer is found."); ++ ++special_func special_handler; ++ ++short pitch_shift, synth_flags; ++static char buf[256]; ++int attrib_bleep, bleeps, bleep_time = 10; ++int no_intr, spell_delay; ++int key_echo, say_word_ctl; ++int say_ctrl, bell_pos; ++short punc_mask; ++int punc_level, reading_punc; ++char str_caps_start[MAXVARLEN+1] = "\0", str_caps_stop[MAXVARLEN+1] = "\0"; ++const struct st_bits_data punc_info[] = { ++ { "none", "", 0 }, ++ { "some", "/$%&@", SOME }, ++ { "most", "$%&#()=+*/@^<>|\\", MOST }, ++ { "all", "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~", PUNC }, ++ { "delimiters", "", B_WDLM }, ++ { "repeats", "()", CH_RPT }, ++ { "extended numeric", "", B_EXNUM }, ++ { "symbols", "", B_SYM }, ++ { 0, 0 } ++}; ++static char mark_cut_flag; ++#define MAX_KEY 160 ++u_char *our_keys[MAX_KEY], *shift_table; ++u_char key_buf[600]; ++const u_char key_defaults[] = { ++#include "speakupmap.h" ++}; ++ ++/* Speakup Cursor Track Variables */ ++static int cursor_track = 1, prev_cursor_track = 1; ++ ++/* cursor track modes, must be ordered same as cursor_msgs */ ++enum { ++ CT_Off = 0, ++ CT_On, ++ CT_Highlight, ++ CT_Window, ++ CT_Max ++}; ++#define read_all_mode CT_Max ++ ++static struct tty_struct *tty; ++typedef void (*k_handler_fn)(struct vc_data *vc, unsigned char value, ++ char up_flag); ++extern k_handler_fn k_handler[16]; ++ ++static void spkup_write(const char *in_buf, int count); ++ ++ ++static char *phonetic[] = { ++ "alfa", "bravo", "charlie", "delta", "echo", "foxtrot", "golf", "hotel", ++ "india", "juliett", "keelo", "leema", "mike", "november", "oscar", "papa", ++ "keh beck", "romeo", "sierra", "tango", "uniform", "victer", "whiskey", ++ "x ray", "yankee", "zulu" ++}; ++ ++/* array of 256 char pointers (one for each character description) ++ * initialized to default_chars and user selectable via ++ * /proc/speakup/characters */ ++char *characters[256]; ++ ++char *default_chars[256] = { ++/*000*/ "null", "^a", "^b", "^c", "^d", "^e", "^f", "^g", ++/*008*/ "^h", "^i", "^j", "^k", "^l", "^m", "^n", "^o", ++/*016*/ "^p", "^q", "^r", "^s", "^t", "^u", "^v", "^w", ++/*024*/ "^x", "^y", "^z", "control", "control", "control", "control", "control", ++/*032*/ "space", "bang!", "quote", "number", "dollar", "percent", "and", "tick", ++/*040*/ "left paren", "right paren", "star", "plus", "comma", "dash", "dot", ++ "slash", ++/*048*/ "zero", "one", "two", "three", "four", "five", "six", "seven", ++ "eight", "nine", ++/*058*/ "colon", "semmy", "less", "equals", "greater", "question", "at", ++/*065*/ "EIGH", "B", "C", "D", "E", "F", "G", ++/*072*/ "H", "I", "J", "K", "L", "M", "N", "O", ++/*080*/ "P", "Q", "R", "S", "T", "U", "V", "W", "X", ++/*089*/ "Y", "ZED", "left bracket", "backslash", "right bracket", "caret", ++ "line", ++/*096*/ "accent", "a", "b", "c", "d", "e", "f", "g", ++/*104*/ "h", "i", "j", "k", "l", "m", "n", "o", ++/*112*/ "p", "q", "r", "s", "t", "u", "v", "w", ++/*120*/ "x", "y", "zed", "left brace", "bar", "right brace", "tihlduh", ++/*127*/ "del", "control", "control", "control", "control", "control", "control", "control", "control", "control", "control", ++/*138*/ "control", "control", "control", "control", "control", "control", "control", "control", "control", "control", "control", "control", ++/*150*/ "control", "control", "control", "control", "control", "control", "control", "control", "control", "control", ++/*160*/ "nbsp", "inverted bang", ++/*162*/ "cents", "pounds", "currency", "yen", "broken bar", "section", ++/*168*/ "diaeresis", "copyright", "female ordinal", "double left angle", ++/*172*/ "not", "soft hyphen", "registered", "macron", ++/*176*/ "degrees", "plus or minus", "super two", "super three", ++/*180*/ "acute accent", "micro", "pilcrow", "middle dot", ++/*184*/ "cedilla", "super one", "male ordinal", "double right angle", ++/*188*/ "one quarter", "one half", "three quarters", "inverted question", ++/*192*/ "A GRAVE", "A ACUTE", "A CIRCUMFLEX", "A TILDE", "A OOMLAUT", "A RING", ++/*198*/ "AE", "C CIDELLA", "E GRAVE", "E ACUTE", "E CIRCUMFLEX", "E OOMLAUT", ++/*204*/ "I GRAVE", "I ACUTE", "I CIRCUMFLEX", "I OOMLAUT", "ETH", "N TILDE", ++/*210*/ "O GRAVE", "O ACUTE", "O CIRCUMFLEX", "O TILDE", "O OOMLAUT", ++/*215*/ "multiplied by", "O STROKE", "U GRAVE", "U ACUTE", "U CIRCUMFLEX", ++/*220*/ "U OOMLAUT", "Y ACUTE", "THORN", "sharp s", "a grave", ++/*225*/ "a acute", "a circumflex", "a tilde", "a oomlaut", "a ring", ++/*230*/ "ae", "c cidella", "e grave", "e acute", ++/*234*/ "e circumflex", "e oomlaut", "i grave", "i acute", "i circumflex", ++/*239*/ "i oomlaut", "eth", "n tilde","o grave", "o acute", "o circumflex", ++/*245*/"o tilde", "o oomlaut", "divided by", "o stroke", "u grave", "u acute", ++/* 251 */ "u circumflex", "u oomlaut", "y acute", "thorn", "y oomlaut" ++}; ++ ++/* array of 256 u_short (one for each character) ++ * initialized to default_chartab and user selectable via ++ * /sys/module/speakup/parameters/chartab */ ++u_short spk_chartab[256]; ++ ++static u_short default_chartab[256] = { ++ B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /* 0-7 */ ++ B_CTL, B_CTL, A_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /* 8-15 */ ++ B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /*16-23 */ ++ B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /* 24-31 */ ++WDLM, A_PUNC, PUNC, PUNC, PUNC, PUNC, PUNC, A_PUNC, /* !"#$%&' */ ++PUNC, PUNC, PUNC, PUNC, A_PUNC, A_PUNC, A_PUNC, PUNC, /* ()*+, -./ */ ++NUM, NUM, NUM, NUM, NUM, NUM, NUM, NUM, /* 01234567 */ ++NUM, NUM, A_PUNC, PUNC, PUNC, PUNC, PUNC, A_PUNC, /* 89:;<=>? */ ++PUNC, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, /* @ABCDEFG */ ++A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, /* HIJKLMNO */ ++A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, /* PQRSTUVW */ ++A_CAP, A_CAP, A_CAP, PUNC, PUNC, PUNC, PUNC, PUNC, /* XYZ[\]^_ */ ++PUNC, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, /* `abcdefg */ ++ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, /* hijklmno */ ++ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, /* pqrstuvw */ ++ALPHA, ALPHA, ALPHA, PUNC, PUNC, PUNC, PUNC, 0, /* xyz{|}~ */ ++B_CAPSYM, B_CAPSYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, /* 128-135 */ ++B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_CAPSYM, /* 136-143 */ ++B_CAPSYM, B_CAPSYM, B_SYM, B_CAPSYM, B_SYM, B_SYM, B_SYM, B_SYM, /* 144-151 */ ++B_SYM, B_SYM, B_CAPSYM, B_CAPSYM, B_SYM, B_SYM, B_SYM, B_SYM, /* 152-159 */ ++WDLM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_CAPSYM, B_SYM, /* 160-167 */ ++B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, /* 168-175 */ ++B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, /* 176-183 */ ++B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, B_SYM, /* 184-191 */ ++A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, /* 192-199 */ ++A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, /* 200-207 */ ++A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, B_SYM, /* 208-215 */ ++A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, A_CAP, ALPHA, /* 216-223 */ ++ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, /* 224-231 */ ++ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, /* 232-239 */ ++ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, B_SYM, /* 240-247 */ ++ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA, ALPHA /* 248-255 */ ++}; ++ ++struct task_struct *speakup_task; ++static int spk_keydown; ++static u_char spk_lastkey, spk_close_press, keymap_flags; ++static u_char last_keycode, this_speakup_key; ++static u_long last_spk_jiffy; ++ ++struct st_spk_t *speakup_console[MAX_NR_CONSOLES]; ++ ++DEFINE_MUTEX(spk_mutex); ++ ++static int keyboard_notifier_call(struct notifier_block *, ++ unsigned long code, void *param); ++ ++struct notifier_block keyboard_notifier_block = { ++ .notifier_call = keyboard_notifier_call, ++}; ++ ++static int vt_notifier_call(struct notifier_block *, ++ unsigned long code, void *param); ++ ++struct notifier_block vt_notifier_block = { ++ .notifier_call = vt_notifier_call, ++}; ++ ++static unsigned char get_attributes(u16 *pos) ++{ ++ return (u_char)(scr_readw(pos) >> 8); ++} ++ ++static void speakup_date(struct vc_data *vc) ++{ ++ spk_x = spk_cx = vc->vc_x; ++ spk_y = spk_cy = vc->vc_y; ++ spk_pos = spk_cp = vc->vc_pos; ++ spk_old_attr = spk_attr; ++ spk_attr = get_attributes((u_short *) spk_pos); ++} ++ ++static void bleep(u_short val) ++{ ++ static const short vals[] = { ++ 350, 370, 392, 414, 440, 466, 491, 523, 554, 587, 619, 659 ++ }; ++ short freq; ++ int time = bleep_time; ++ freq = vals[val%12]; ++ if (val > 11) ++ freq *= (1 << (val/12)); ++ kd_mksound(freq, msecs_to_jiffies(time)); ++} ++ ++static void speakup_shut_up(struct vc_data *vc) ++{ ++ if (spk_killed) ++ return; ++ spk_shut_up |= 0x01; ++ spk_parked &= 0xfe; ++ speakup_date(vc); ++ if (synth != NULL) ++ do_flush(); ++} ++ ++static void speech_kill(struct vc_data *vc) ++{ ++ char val = synth->is_alive(synth); ++ if (val == 0) ++ return; ++ ++ /* re-enables synth, if disabled */ ++ if (val == 2 || spk_killed) { ++ /* dead */ ++ spk_shut_up &= ~0x40; ++ synth_printf("%s\n", msg_get(MSG_IAM_ALIVE)); ++ } else { ++ synth_printf("%s\n", msg_get(MSG_YOU_KILLED_SPEAKUP)); ++ spk_shut_up |= 0x40; ++ } ++} ++ ++static void speakup_off(struct vc_data *vc) ++{ ++ if (spk_shut_up & 0x80) { ++ spk_shut_up &= 0x7f; ++ synth_printf("%s\n", msg_get(MSG_HEY_THATS_BETTER)); ++ } else { ++ spk_shut_up |= 0x80; ++ synth_printf("%s\n", msg_get(MSG_YOU_TURNED_ME_OFF)); ++ } ++ speakup_date(vc); ++} ++ ++static void speakup_parked(struct vc_data *vc) ++{ ++ if (spk_parked & 0x80) { ++ spk_parked = 0; ++ synth_printf("%s\n", msg_get(MSG_UNPARKED)); ++ } else { ++ spk_parked |= 0x80; ++ synth_printf("%s\n", msg_get(MSG_PARKED)); ++ } ++} ++ ++static void speakup_cut(struct vc_data *vc) ++{ ++ static const char err_buf[] = "set selection failed"; ++ int ret; ++ ++ if (!mark_cut_flag) { ++ mark_cut_flag = 1; ++ xs = (u_short) spk_x; ++ ys = (u_short) spk_y; ++ spk_sel_cons = vc; ++ synth_printf("%s\n", msg_get(MSG_MARK)); ++ return; ++ } ++ xe = (u_short) spk_x; ++ ye = (u_short) spk_y; ++ mark_cut_flag = 0; ++ synth_printf("%s\n", msg_get(MSG_CUT)); ++ ++ speakup_clear_selection(); ++ ret = speakup_set_selection(tty); ++ ++ switch (ret) { ++ case 0: ++ break; /* no error */ ++ case -EFAULT : ++ pr_warn("%sEFAULT\n", err_buf); ++ break; ++ case -EINVAL : ++ pr_warn("%sEINVAL\n", err_buf); ++ break; ++ case -ENOMEM : ++ pr_warn("%sENOMEM\n", err_buf); ++ break; ++ } ++} ++ ++static void speakup_paste(struct vc_data *vc) ++{ ++ if (mark_cut_flag) { ++ mark_cut_flag = 0; ++ synth_printf("%s\n", msg_get(MSG_MARK_CLEARED)); ++ } else { ++ synth_printf("%s\n", msg_get(MSG_PASTE)); ++ speakup_paste_selection(tty); ++ } ++} ++ ++static void say_attributes(struct vc_data *vc) ++{ ++ int fg = spk_attr & 0x0f; ++ int bg = spk_attr >> 4; ++ if (fg > 8) { ++ synth_printf("%s ", msg_get(MSG_BRIGHT)); ++ fg -= 8; ++ } ++ synth_printf("%s", msg_get(MSG_COLORS_START + fg)); ++ if (bg > 7) { ++ synth_printf(" %s ", msg_get(MSG_ON_BLINKING)); ++ bg -= 8; ++ } else ++ synth_printf(" %s ", msg_get(MSG_ON)); ++ synth_printf("%s\n", msg_get(MSG_COLORS_START + bg)); ++} ++ ++enum { ++ edge_top = 1, ++ edge_bottom, ++ edge_left, ++ edge_right, ++ edge_quiet ++}; ++ ++static void announce_edge(struct vc_data *vc, int msg_id) ++{ ++ if (bleeps & 1) ++ bleep(spk_y); ++ if ((bleeps & 2) && (msg_id < edge_quiet)) ++ synth_printf("%s\n", msg_get(MSG_EDGE_MSGS_START + msg_id - 1)); ++} ++ ++static void speak_char(u_char ch) ++{ ++ char *cp = characters[ch]; ++ struct var_t *direct = get_var(DIRECT); ++ if (direct && direct->u.n.value) { ++ if (IS_CHAR(ch, B_CAP)) { ++ pitch_shift++; ++ synth_printf("%s", str_caps_start); ++ } ++ synth_printf("%c", ch); ++ if (IS_CHAR(ch, B_CAP)) ++ synth_printf("%s", str_caps_stop); ++ return; ++ } ++ if (cp == NULL) { ++ pr_info("speak_char: cp == NULL!\n"); ++ return; ++ } ++ synth_buffer_add(SPACE); ++ if (IS_CHAR(ch, B_CAP)) { ++ pitch_shift++; ++ synth_printf("%s", str_caps_start); ++ synth_printf("%s", cp); ++ synth_printf("%s", str_caps_stop); ++ } else { ++ if (*cp == '^') { ++ synth_printf("%s", msg_get(MSG_CTRL)); ++ cp++; ++ } ++ synth_printf("%s", cp); ++ } ++ synth_buffer_add(SPACE); ++} ++ ++static u16 get_char(struct vc_data *vc, u16 *pos, u_char *attribs) ++{ ++ u16 ch = ' '; ++ if (vc && pos) { ++ u16 w = scr_readw(pos); ++ u16 c = w & 0xff; ++ ++ if (w & vc->vc_hi_font_mask) ++ c |= 0x100; ++ ++ ch = inverse_translate(vc, c); ++ *attribs = (w & 0xff00) >> 8; ++ } ++ return ch; ++} ++ ++static void say_char(struct vc_data *vc) ++{ ++ u_short ch; ++ spk_old_attr = spk_attr; ++ ch = get_char(vc, (u_short *) spk_pos, &spk_attr); ++ if (spk_attr != spk_old_attr) { ++ if (attrib_bleep & 1) ++ bleep(spk_y); ++ if (attrib_bleep & 2) ++ say_attributes(vc); ++ } ++ speak_char(ch & 0xff); ++} ++ ++static void say_phonetic_char(struct vc_data *vc) ++{ ++ u_short ch; ++ spk_old_attr = spk_attr; ++ ch = get_char(vc, (u_short *) spk_pos, &spk_attr); ++ if (isascii(ch) && isalpha(ch)) { ++ ch &= 0x1f; ++ synth_printf("%s\n", phonetic[--ch]); ++ } else { ++ if (IS_CHAR(ch, B_NUM)) ++ synth_printf("%s ", msg_get(MSG_NUMBER)); ++ speak_char(ch); ++ } ++} ++ ++static void say_prev_char(struct vc_data *vc) ++{ ++ spk_parked |= 0x01; ++ if (spk_x == 0) { ++ announce_edge(vc, edge_left); ++ return; ++ } ++ spk_x--; ++ spk_pos -= 2; ++ say_char(vc); ++} ++ ++static void say_next_char(struct vc_data *vc) ++{ ++ spk_parked |= 0x01; ++ if (spk_x == vc->vc_cols - 1) { ++ announce_edge(vc, edge_right); ++ return; ++ } ++ spk_x++; ++ spk_pos += 2; ++ say_char(vc); ++} ++ ++/* get_word - will first check to see if the character under the ++ reading cursor is a space and if say_word_ctl is true it will ++ return the word space. If say_word_ctl is not set it will check to ++ see if there is a word starting on the next position to the right ++ and return that word if it exists. If it does not exist it will ++ move left to the beginning of any previous word on the line or the ++ beginning off the line whichever comes first.. */ ++ ++static u_long get_word(struct vc_data *vc) ++{ ++ u_long cnt = 0, tmpx = spk_x, tmp_pos = spk_pos; ++ char ch; ++ u_short attr_ch; ++ u_char temp; ++ spk_old_attr = spk_attr; ++ ch = (char) get_char(vc, (u_short *) tmp_pos, &temp); ++ ++/* decided to take out the sayword if on a space (mis-information */ ++ if (say_word_ctl && ch == SPACE) { ++ *buf = '\0'; ++ synth_printf("%s\n", msg_get(MSG_SPACE)); ++ return 0; ++ } else if ((tmpx < vc->vc_cols - 2) ++ && (ch == SPACE || ch == 0 || IS_WDLM(ch)) ++ && ((char) get_char(vc, (u_short *) &tmp_pos+1, &temp) > SPACE)) { ++ tmp_pos += 2; ++ tmpx++; ++ } else ++ while (tmpx > 0) { ++ ch = (char) get_char(vc, (u_short *) tmp_pos - 1, &temp); ++ if ((ch == SPACE || ch == 0 || IS_WDLM(ch)) ++ && ((char) get_char(vc, (u_short *) tmp_pos, &temp) > ++ SPACE)) ++ break; ++ tmp_pos -= 2; ++ tmpx--; ++ } ++ attr_ch = get_char(vc, (u_short *) tmp_pos, &spk_attr); ++ buf[cnt++] = attr_ch & 0xff; ++ while (tmpx < vc->vc_cols - 1) { ++ tmp_pos += 2; ++ tmpx++; ++ ch = (char) get_char(vc, (u_short *) tmp_pos, &temp); ++ if ((ch == SPACE) || ch == 0 || (IS_WDLM(buf[cnt-1]) && (ch > SPACE))) ++ break; ++ buf[cnt++] = ch; ++ } ++ buf[cnt] = '\0'; ++ return cnt; ++} ++ ++static void say_word(struct vc_data *vc) ++{ ++ u_long cnt = get_word(vc); ++ u_short saved_punc_mask = punc_mask; ++ if (cnt == 0) ++ return; ++ punc_mask = PUNC; ++ buf[cnt++] = SPACE; ++ spkup_write(buf, cnt); ++ punc_mask = saved_punc_mask; ++} ++ ++static void say_prev_word(struct vc_data *vc) ++{ ++ u_char temp; ++ char ch; ++ u_short edge_said = 0, last_state = 0, state = 0; ++ spk_parked |= 0x01; ++ ++ if (spk_x == 0) { ++ if (spk_y == 0) { ++ announce_edge(vc, edge_top); ++ return; ++ } ++ spk_y--; ++ spk_x = vc->vc_cols; ++ edge_said = edge_quiet; ++ } ++ while (1) { ++ if (spk_x == 0) { ++ if (spk_y == 0) { ++ edge_said = edge_top; ++ break; ++ } ++ if (edge_said != edge_quiet) ++ edge_said = edge_left; ++ if (state > 0) ++ break; ++ spk_y--; ++ spk_x = vc->vc_cols - 1; ++ } else ++ spk_x--; ++ spk_pos -= 2; ++ ch = (char) get_char(vc, (u_short *) spk_pos, &temp); ++ if (ch == SPACE || ch == 0) ++ state = 0; ++ else if (IS_WDLM(ch)) ++ state = 1; ++ else ++ state = 2; ++ if (state < last_state) { ++ spk_pos += 2; ++ spk_x++; ++ break; ++ } ++ last_state = state; ++ } ++ if (spk_x == 0 && edge_said == edge_quiet) ++ edge_said = edge_left; ++ if (edge_said > 0 && edge_said < edge_quiet) ++ announce_edge(vc, edge_said); ++ say_word(vc); ++} ++ ++static void say_next_word(struct vc_data *vc) ++{ ++ u_char temp; ++ char ch; ++ u_short edge_said = 0, last_state = 2, state = 0; ++ spk_parked |= 0x01; ++ ++ if (spk_x == vc->vc_cols - 1 && spk_y == vc->vc_rows - 1) { ++ announce_edge(vc, edge_bottom); ++ return; ++ } ++ while (1) { ++ ch = (char) get_char(vc, (u_short *) spk_pos, &temp); ++ if (ch == SPACE || ch == 0) ++ state = 0; ++ else if (IS_WDLM(ch)) ++ state = 1; ++ else ++ state = 2; ++ if (state > last_state) ++ break; ++ if (spk_x >= vc->vc_cols - 1) { ++ if (spk_y == vc->vc_rows - 1) { ++ edge_said = edge_bottom; ++ break; ++ } ++ state = 0; ++ spk_y++; ++ spk_x = 0; ++ edge_said = edge_right; ++ } else ++ spk_x++; ++ spk_pos += 2; ++ last_state = state; ++ } ++ if (edge_said > 0) ++ announce_edge(vc, edge_said); ++ say_word(vc); ++} ++ ++static void spell_word(struct vc_data *vc) ++{ ++ static char *delay_str[] = { "", ",", ".", ". .", ". . ." }; ++ char *cp = buf, *str_cap = str_caps_stop; ++ char *cp1, *last_cap = str_caps_stop; ++ u_char ch; ++ if (!get_word(vc)) ++ return; ++ while ((ch = (u_char) *cp)) { ++ if (cp != buf) ++ synth_printf(" %s ", delay_str[spell_delay]); ++ if (IS_CHAR(ch, B_CAP)) { ++ str_cap = str_caps_start; ++ if (*str_caps_stop) ++ pitch_shift++; ++ else /* synth has no pitch */ ++ last_cap = str_caps_stop; ++ } else ++ str_cap = str_caps_stop; ++ if (str_cap != last_cap) { ++ synth_printf("%s", str_cap); ++ last_cap = str_cap; ++ } ++ if (this_speakup_key == SPELL_PHONETIC ++ && (isascii(ch) && isalpha(ch))) { ++ ch &= 31; ++ cp1 = phonetic[--ch]; ++ } else { ++ cp1 = characters[ch]; ++ if (*cp1 == '^') { ++ synth_printf("%s", msg_get(MSG_CTRL)); ++ cp1++; ++ } ++ } ++ synth_printf("%s", cp1); ++ cp++; ++ } ++ if (str_cap != str_caps_stop) ++ synth_printf("%s", str_caps_stop); ++} ++ ++static int get_line(struct vc_data *vc) ++{ ++ u_long tmp = spk_pos - (spk_x * 2); ++ int i = 0; ++ u_char tmp2; ++ ++ spk_old_attr = spk_attr; ++ spk_attr = get_attributes((u_short *) spk_pos); ++ for (i = 0; i < vc->vc_cols; i++) { ++ buf[i] = (u_char) get_char(vc, (u_short *) tmp, &tmp2); ++ tmp += 2; ++ } ++ for (--i; i >= 0; i--) ++ if (buf[i] != SPACE) ++ break; ++ return ++i; ++} ++ ++static void say_line(struct vc_data *vc) ++{ ++ int i = get_line(vc); ++ char *cp; ++ u_short saved_punc_mask = punc_mask; ++ if (i == 0) { ++ synth_printf("%s\n", msg_get(MSG_BLANK)); ++ return; ++ } ++ buf[i++] = '\n'; ++ if (this_speakup_key == SAY_LINE_INDENT) { ++ for (cp = buf; *cp == SPACE; cp++) ++ ; ++ synth_printf("%d, ", (cp - buf) + 1); ++ } ++ punc_mask = punc_masks[reading_punc]; ++ spkup_write(buf, i); ++ punc_mask = saved_punc_mask; ++} ++ ++static void say_prev_line(struct vc_data *vc) ++{ ++ spk_parked |= 0x01; ++ if (spk_y == 0) { ++ announce_edge(vc, edge_top); ++ return; ++ } ++ spk_y--; ++ spk_pos -= vc->vc_size_row; ++ say_line(vc); ++} ++ ++static void say_next_line(struct vc_data *vc) ++{ ++ spk_parked |= 0x01; ++ if (spk_y == vc->vc_rows - 1) { ++ announce_edge(vc, edge_bottom); ++ return; ++ } ++ spk_y++; ++ spk_pos += vc->vc_size_row; ++ say_line(vc); ++} ++ ++static int say_from_to(struct vc_data *vc, u_long from, u_long to, ++ int read_punc) ++{ ++ int i = 0; ++ u_char tmp; ++ u_short saved_punc_mask = punc_mask; ++ spk_old_attr = spk_attr; ++ spk_attr = get_attributes((u_short *) from); ++ while (from < to) { ++ buf[i++] = (char) get_char(vc, (u_short *) from, &tmp); ++ from += 2; ++ if (i >= vc->vc_size_row) ++ break; ++ } ++ for (--i; i >= 0; i--) ++ if (buf[i] != SPACE) ++ break; ++ buf[++i] = SPACE; ++ buf[++i] = '\0'; ++ if (i < 1) ++ return i; ++ if (read_punc) ++ punc_mask = punc_info[reading_punc].mask; ++ spkup_write(buf, i); ++ if (read_punc) ++ punc_mask = saved_punc_mask; ++ return i - 1; ++} ++ ++static void say_line_from_to(struct vc_data *vc, u_long from, u_long to, ++ int read_punc) ++{ ++ u_long start = vc->vc_origin + (spk_y * vc->vc_size_row); ++ u_long end = start + (to * 2); ++ start += from * 2; ++ if (say_from_to(vc, start, end, read_punc) <= 0) ++ if (cursor_track != read_all_mode) ++ synth_printf("%s\n", msg_get(MSG_BLANK)); ++} ++ ++/* Sentence Reading Commands */ ++ ++void synth_insert_next_index(int); ++ ++static int currsentence; ++static int numsentences[2]; ++static char *sentbufend[2]; ++static char *sentmarks[2][10]; ++static int currbuf; ++static int bn; ++static char sentbuf[2][256]; ++ ++static int say_sentence_num(int num , int prev) ++{ ++ bn = currbuf; ++ currsentence = num + 1; ++ if (prev && --bn == -1) ++ bn = 1; ++ ++ if (num > numsentences[bn]) ++ return 0; ++ ++ spkup_write(sentmarks[bn][num], sentbufend[bn] - sentmarks[bn][num]); ++ return 1; ++} ++ ++static int get_sentence_buf(struct vc_data *vc, int read_punc) ++{ ++ u_long start, end; ++ int i, bn; ++ u_char tmp; ++ ++ currbuf++; ++ if (currbuf == 2) ++ currbuf = 0; ++ bn = currbuf; ++ start = vc->vc_origin + ((spk_y) * vc->vc_size_row); ++ end = vc->vc_origin+((spk_y) * vc->vc_size_row) + vc->vc_cols * 2; ++ ++ numsentences[bn] = 0; ++ sentmarks[bn][0] = &sentbuf[bn][0]; ++ i = 0; ++ spk_old_attr = spk_attr; ++ spk_attr = get_attributes((u_short *) start); ++ ++ while (start < end) { ++ sentbuf[bn][i] = (char) get_char(vc, (u_short *) start, &tmp); ++ if (i > 0) { ++ if (sentbuf[bn][i] == SPACE && sentbuf[bn][i-1] == '.' ++ && numsentences[bn] < 9) { ++ /* Sentence Marker */ ++ numsentences[bn]++; ++ sentmarks[bn][numsentences[bn]] = ++ &sentbuf[bn][i]; ++ } ++ } ++ i++; ++ start += 2; ++ if (i >= vc->vc_size_row) ++ break; ++ } ++ ++ for (--i; i >= 0; i--) ++ if (sentbuf[bn][i] != SPACE) ++ break; ++ ++ if (i < 1) ++ return -1; ++ ++ sentbuf[bn][++i] = SPACE; ++ sentbuf[bn][++i] = '\0'; ++ ++ sentbufend[bn] = &sentbuf[bn][i]; ++ return numsentences[bn]; ++} ++ ++static void say_screen_from_to(struct vc_data *vc, u_long from, u_long to) ++{ ++ u_long start = vc->vc_origin, end; ++ if (from > 0) ++ start += from * vc->vc_size_row; ++ if (to > vc->vc_rows) ++ to = vc->vc_rows; ++ end = vc->vc_origin + (to * vc->vc_size_row); ++ for (from = start; from < end; from = to) { ++ to = from + vc->vc_size_row; ++ say_from_to(vc, from, to, 1); ++ } ++} ++ ++static void say_screen(struct vc_data *vc) ++{ ++ say_screen_from_to(vc, 0, vc->vc_rows); ++} ++ ++static void speakup_win_say(struct vc_data *vc) ++{ ++ u_long start, end, from, to; ++ if (win_start < 2) { ++ synth_printf("%s\n", msg_get(MSG_NO_WINDOW)); ++ return; ++ } ++ start = vc->vc_origin + (win_top * vc->vc_size_row); ++ end = vc->vc_origin + (win_bottom * vc->vc_size_row); ++ while (start <= end) { ++ from = start + (win_left * 2); ++ to = start + (win_right * 2); ++ say_from_to(vc, from, to, 1); ++ start += vc->vc_size_row; ++ } ++} ++ ++static void top_edge(struct vc_data *vc) ++{ ++ spk_parked |= 0x01; ++ spk_pos = vc->vc_origin + 2 * spk_x; ++ spk_y = 0; ++ say_line(vc); ++} ++ ++static void bottom_edge(struct vc_data *vc) ++{ ++ spk_parked |= 0x01; ++ spk_pos += (vc->vc_rows - spk_y - 1) * vc->vc_size_row; ++ spk_y = vc->vc_rows - 1; ++ say_line(vc); ++} ++ ++static void left_edge(struct vc_data *vc) ++{ ++ spk_parked |= 0x01; ++ spk_pos -= spk_x * 2; ++ spk_x = 0; ++ say_char(vc); ++} ++ ++static void right_edge(struct vc_data *vc) ++{ ++ spk_parked |= 0x01; ++ spk_pos += (vc->vc_cols - spk_x - 1) * 2; ++ spk_x = vc->vc_cols - 1; ++ say_char(vc); ++} ++ ++static void say_first_char(struct vc_data *vc) ++{ ++ int i, len = get_line(vc); ++ u_char ch; ++ spk_parked |= 0x01; ++ if (len == 0) { ++ synth_printf("%s\n", msg_get(MSG_BLANK)); ++ return; ++ } ++ for (i = 0; i < len; i++) ++ if (buf[i] != SPACE) ++ break; ++ ch = buf[i]; ++ spk_pos -= (spk_x - i) * 2; ++ spk_x = i; ++ synth_printf("%d, ", ++i); ++ speak_char(ch); ++} ++ ++static void say_last_char(struct vc_data *vc) ++{ ++ int len = get_line(vc); ++ u_char ch; ++ spk_parked |= 0x01; ++ if (len == 0) { ++ synth_printf("%s\n", msg_get(MSG_BLANK)); ++ return; ++ } ++ ch = buf[--len]; ++ spk_pos -= (spk_x - len) * 2; ++ spk_x = len; ++ synth_printf("%d, ", ++len); ++ speak_char(ch); ++} ++ ++static void say_position(struct vc_data *vc) ++{ ++ synth_printf(msg_get(MSG_POS_INFO), spk_y + 1, spk_x + 1, ++ vc->vc_num + 1); ++ synth_printf("\n"); ++} ++ ++/* Added by brianb */ ++static void say_char_num(struct vc_data *vc) ++{ ++ u_char tmp; ++ u_short ch = get_char(vc, (u_short *) spk_pos, &tmp); ++ ch &= 0xff; ++ synth_printf(msg_get(MSG_CHAR_INFO), ch, ch); ++} ++ ++/* these are stub functions to keep keyboard.c happy. */ ++ ++static void say_from_top(struct vc_data *vc) ++{ ++ say_screen_from_to(vc, 0, spk_y); ++} ++ ++static void say_to_bottom(struct vc_data *vc) ++{ ++ say_screen_from_to(vc, spk_y, vc->vc_rows); ++} ++ ++static void say_from_left(struct vc_data *vc) ++{ ++ say_line_from_to(vc, 0, spk_x, 1); ++} ++ ++static void say_to_right(struct vc_data *vc) ++{ ++ say_line_from_to(vc, spk_x, vc->vc_cols, 1); ++} ++ ++/* end of stub functions. */ ++ ++static void spkup_write(const char *in_buf, int count) ++{ ++ static int rep_count = 0; ++ static u_char ch = '\0', old_ch = '\0'; ++ static u_short char_type = 0, last_type = 0; ++ int in_count = count; ++ spk_keydown = 0; ++ while (count--) { ++ if (cursor_track == read_all_mode) { ++ /* Insert Sentence Index */ ++ if ((in_buf == sentmarks[bn][currsentence]) && ++ (currsentence <= numsentences[bn])) ++ synth_insert_next_index(currsentence++); ++ } ++ ch = (u_char)*in_buf++; ++ char_type = spk_chartab[ch]; ++ if (ch == old_ch && !(char_type&B_NUM)) { ++ if (++rep_count > 2) ++ continue; ++ } else { ++ if ((last_type&CH_RPT) && rep_count > 2) { ++ synth_printf(" "); ++ synth_printf(msg_get(MSG_REPEAT_DESC), ++rep_count); ++ synth_printf(" "); ++ } ++ rep_count = 0; ++ } ++ if (ch == spk_lastkey) { ++ rep_count = 0; ++ if (key_echo == 1 && ch >= MINECHOCHAR) ++ speak_char(ch); ++ } else if (char_type & B_ALPHA) { ++ if ((synth_flags & SF_DEC) && (last_type & PUNC)) ++ synth_buffer_add(SPACE); ++ synth_printf("%c", ch); ++ } else if (char_type & B_NUM) { ++ rep_count = 0; ++ synth_printf("%c", ch); ++ } else if (char_type&punc_mask) { ++ speak_char(ch); ++ char_type &= ~PUNC; /* for dec nospell processing */ ++ } else if (char_type&SYNTH_OK) { ++/* these are usually puncts like . and , which synth needs for expression. ++ * suppress multiple to get rid of long pausesand clear repeat count so if ++ *someone has repeats on you don't get nothing repeated count */ ++ if (ch != old_ch) ++ synth_printf("%c", ch); ++ else ++ rep_count = 0; ++ } else { ++/* send space and record position, if next is num overwrite space */ ++ if (old_ch != ch) ++ synth_buffer_add(SPACE); ++ else ++ rep_count = 0; ++ } ++ old_ch = ch; ++ last_type = char_type; ++ } ++ spk_lastkey = 0; ++ if (in_count > 2 && rep_count > 2) { ++ if (last_type&CH_RPT) { ++ synth_printf(" "); ++ synth_printf(msg_get(MSG_REPEAT_DESC2), ++rep_count); ++ synth_printf(" "); ++ } ++ rep_count = 0; ++ } ++} ++ ++static const int NUM_CTL_LABELS = (MSG_CTL_END - MSG_CTL_START + 1); ++ ++static void read_all_doc(struct vc_data *vc); ++static void cursor_done(u_long data); ++static DEFINE_TIMER(cursor_timer, cursor_done, 0, 0); ++ ++static void do_handle_shift(struct vc_data *vc, u_char value, char up_flag) ++{ ++ unsigned long flags; ++ if (synth == NULL || up_flag || spk_killed) ++ return; ++ spk_lock(flags); ++ if (cursor_track == read_all_mode) { ++ switch (value) { ++ case KVAL(K_SHIFT): ++ del_timer(&cursor_timer); ++ spk_shut_up &= 0xfe; ++ do_flush(); ++ read_all_doc(vc); ++ break; ++ case KVAL(K_CTRL): ++ del_timer(&cursor_timer); ++ cursor_track = prev_cursor_track; ++ spk_shut_up &= 0xfe; ++ do_flush(); ++ break; ++ } ++ } else { ++ spk_shut_up &= 0xfe; ++ do_flush(); ++ } ++ if (say_ctrl && value < NUM_CTL_LABELS) ++ synth_printf("%s", msg_get(MSG_CTL_START + value)); ++ spk_unlock(flags); ++} ++ ++static void do_handle_latin(struct vc_data *vc, u_char value, char up_flag) ++{ ++ unsigned long flags; ++ spk_lock(flags); ++ if (up_flag) { ++ spk_lastkey = spk_keydown = 0; ++ spk_unlock(flags); ++ return; ++ } ++ if (synth == NULL || spk_killed) { ++ spk_unlock(flags); ++ return; ++ } ++ spk_shut_up &= 0xfe; ++ spk_lastkey = value; ++ spk_keydown++; ++ spk_parked &= 0xfe; ++ if (key_echo == 2 && value >= MINECHOCHAR) ++ speak_char(value); ++ spk_unlock(flags); ++} ++ ++int set_key_info(const u_char *key_info, u_char *k_buffer) ++{ ++ int i = 0, states, key_data_len; ++ const u_char *cp = key_info; ++ u_char *cp1 = k_buffer; ++ u_char ch, version, num_keys; ++ version = *cp++; ++ if (version != KEY_MAP_VER) ++ return -1; ++ num_keys = *cp; ++ states = (int) cp[1]; ++ key_data_len = (states + 1) * (num_keys + 1); ++ if (key_data_len + SHIFT_TBL_SIZE + 4 >= sizeof(key_buf)) ++ return -2; ++ memset(k_buffer, 0, SHIFT_TBL_SIZE); ++ memset(our_keys, 0, sizeof(our_keys)); ++ shift_table = k_buffer; ++ our_keys[0] = shift_table; ++ cp1 += SHIFT_TBL_SIZE; ++ memcpy(cp1, cp, key_data_len + 3); ++ /* get num_keys, states and data*/ ++ cp1 += 2; /* now pointing at shift states */ ++ for (i = 1; i <= states; i++) { ++ ch = *cp1++; ++ if (ch >= SHIFT_TBL_SIZE) ++ return -3; ++ shift_table[ch] = i; ++ } ++ keymap_flags = *cp1++; ++ while ((ch = *cp1)) { ++ if (ch >= MAX_KEY) ++ return -4; ++ our_keys[ch] = cp1; ++ cp1 += states + 1; ++ } ++ return 0; ++} ++ ++static struct var_t spk_vars[] = { ++ /* bell must be first to set high limit */ ++ { BELL_POS, .u.n = {NULL, 0, 0, 0, 0, 0, NULL }}, ++ { SPELL_DELAY, .u.n = {NULL, 0, 0, 4, 0, 0, NULL }}, ++ { ATTRIB_BLEEP, .u.n = {NULL, 1, 0, 3, 0, 0, NULL }}, ++ { BLEEPS, .u.n = {NULL, 3, 0, 3, 0, 0, NULL }}, ++ { BLEEP_TIME, .u.n = {NULL, 30, 1, 200, 0, 0, NULL }}, ++ { PUNC_LEVEL, .u.n = {NULL, 1, 0, 4, 0, 0, NULL }}, ++ { READING_PUNC, .u.n = {NULL, 1, 0, 4, 0, 0, NULL }}, ++ { CURSOR_TIME, .u.n = {NULL, 120, 50, 600, 0, 0, NULL }}, ++ { SAY_CONTROL, TOGGLE_0 }, ++ { SAY_WORD_CTL, TOGGLE_0 }, ++ { NO_INTERRUPT, TOGGLE_0 }, ++ { KEY_ECHO, .u.n = {NULL, 1, 0, 2, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++ ++static void toggle_cursoring(struct vc_data *vc) ++{ ++ if (cursor_track == read_all_mode) ++ cursor_track = prev_cursor_track; ++ if (++cursor_track >= CT_Max) ++ cursor_track = 0; ++ synth_printf("%s\n", msg_get(MSG_CURSOR_MSGS_START + cursor_track)); ++} ++ ++void reset_default_chars(void) ++{ ++ int i; ++ ++ /* First, free any non-default */ ++ for (i = 0; i < 256; i++) { ++ if ((characters[i] != NULL) ++ && (characters[i] != default_chars[i])) ++ kfree(characters[i]); ++ } ++ ++ memcpy(characters, default_chars, sizeof(default_chars)); ++} ++ ++void reset_default_chartab(void) ++{ ++ memcpy(spk_chartab, default_chartab, sizeof(default_chartab)); ++} ++ ++static const struct st_bits_data *pb_edit = NULL; ++ ++static int edit_bits(struct vc_data *vc, u_char type, u_char ch, u_short key) ++{ ++ short mask = pb_edit->mask, ch_type = spk_chartab[ch]; ++ if (type != KT_LATIN || (ch_type&B_NUM) || ch < SPACE) ++ return -1; ++ if (ch == SPACE) { ++ synth_printf("%s\n", msg_get(MSG_EDIT_DONE)); ++ special_handler = NULL; ++ return 1; ++ } ++ if (mask < PUNC && !(ch_type&PUNC)) ++ return -1; ++ spk_chartab[ch] ^= mask; ++ speak_char(ch); ++ synth_printf(" %s\n", ++ (spk_chartab[ch]&mask) ? msg_get(MSG_ON) : msg_get(MSG_OFF)); ++ return 1; ++} ++ ++/* Allocation concurrency is protected by the console semaphore */ ++void speakup_allocate(struct vc_data *vc) ++{ ++ int vc_num; ++ ++ vc_num = vc->vc_num; ++ if (speakup_console[vc_num] == NULL) { ++ speakup_console[vc_num] = kzalloc(sizeof(*speakup_console[0]), ++ GFP_ATOMIC); ++ if (speakup_console[vc_num] == NULL) ++ return; ++ speakup_date(vc); ++ } else if (!spk_parked) ++ speakup_date(vc); ++} ++ ++void speakup_deallocate(struct vc_data *vc) ++{ ++ int vc_num; ++ ++ vc_num = vc->vc_num; ++ if (speakup_console[vc_num] != NULL) { ++ kfree(speakup_console[vc_num]); ++ speakup_console[vc_num] = NULL; ++ } ++} ++ ++static u_char is_cursor; ++static u_long old_cursor_pos, old_cursor_x, old_cursor_y; ++static int cursor_con; ++ ++static void reset_highlight_buffers(struct vc_data *); ++ ++static int read_all_key; ++ ++void reset_index_count(int); ++void get_index_count(int *, int *); ++/*int synth_supports_indexing(void); */ ++static void start_read_all_timer(struct vc_data *vc, int command); ++ ++enum { ++ RA_NOTHING, ++ RA_NEXT_SENT, ++ RA_PREV_LINE, ++ RA_NEXT_LINE, ++ RA_PREV_SENT, ++ RA_DOWN_ARROW, ++ RA_TIMER, ++ RA_FIND_NEXT_SENT, ++ RA_FIND_PREV_SENT, ++}; ++ ++static void ++kbd_fakekey2(struct vc_data *vc, int v, int command) ++{ ++ del_timer(&cursor_timer); ++ k_handler[KT_CUR](vc, v, 0); ++ k_handler[KT_CUR](vc, v, 1); ++ start_read_all_timer(vc, command); ++} ++ ++static void ++read_all_doc(struct vc_data *vc) ++{ ++ if ((vc->vc_num != fg_console) || synth == NULL || spk_shut_up) ++ return; ++ if (!synth_supports_indexing()) ++ return; ++ if (cursor_track != read_all_mode) ++ prev_cursor_track = cursor_track; ++ cursor_track = read_all_mode; ++ reset_index_count(0); ++ if (get_sentence_buf(vc, 0) == -1) ++ kbd_fakekey2(vc, 0, RA_DOWN_ARROW); ++ else { ++ say_sentence_num(0, 0); ++ synth_insert_next_index(0); ++ start_read_all_timer(vc, RA_TIMER); ++ } ++} ++ ++static void ++stop_read_all(struct vc_data *vc) ++{ ++ del_timer(&cursor_timer); ++ cursor_track = prev_cursor_track; ++ spk_shut_up &= 0xfe; ++ do_flush(); ++} ++ ++static void ++start_read_all_timer(struct vc_data *vc, int command) ++{ ++ struct var_t *cursor_timeout; ++ ++ cursor_con = vc->vc_num; ++ read_all_key = command; ++ cursor_timeout = get_var(CURSOR_TIME); ++ mod_timer(&cursor_timer, jiffies + msecs_to_jiffies(cursor_timeout->u.n.value)); ++} ++ ++static void ++handle_cursor_read_all(struct vc_data *vc, int command) ++{ ++ int indcount, sentcount, rv, sn; ++ ++ switch (command) { ++ case RA_NEXT_SENT: ++ /* Get Current Sentence */ ++ get_index_count(&indcount, &sentcount); ++ /*printk("%d %d ", indcount, sentcount); */ ++ reset_index_count(sentcount+1); ++ if (indcount == 1) { ++ if (!say_sentence_num(sentcount+1, 0)) { ++ kbd_fakekey2(vc, 0, RA_FIND_NEXT_SENT); ++ return; ++ } ++ synth_insert_next_index(0); ++ } else { ++ sn = 0; ++ if (!say_sentence_num(sentcount+1, 1)) { ++ sn = 1; ++ reset_index_count(sn); ++ } else ++ synth_insert_next_index(0); ++ if (!say_sentence_num(sn, 0)) { ++ kbd_fakekey2(vc, 0, RA_FIND_NEXT_SENT); ++ return; ++ } ++ synth_insert_next_index(0); ++ } ++ start_read_all_timer(vc, RA_TIMER); ++ break; ++ case RA_PREV_SENT: ++ break; ++ case RA_NEXT_LINE: ++ read_all_doc(vc); ++ break; ++ case RA_PREV_LINE: ++ break; ++ case RA_DOWN_ARROW: ++ if (get_sentence_buf(vc, 0) == -1) { ++ kbd_fakekey2(vc, 0, RA_DOWN_ARROW); ++ } else { ++ say_sentence_num(0, 0); ++ synth_insert_next_index(0); ++ start_read_all_timer(vc, RA_TIMER); ++ } ++ break; ++ case RA_FIND_NEXT_SENT: ++ rv = get_sentence_buf(vc, 0); ++ if (rv == -1) ++ read_all_doc(vc); ++ if (rv == 0) ++ kbd_fakekey2(vc, 0, RA_FIND_NEXT_SENT); ++ else { ++ say_sentence_num(1, 0); ++ synth_insert_next_index(0); ++ start_read_all_timer(vc, RA_TIMER); ++ } ++ break; ++ case RA_FIND_PREV_SENT: ++ break; ++ case RA_TIMER: ++ get_index_count(&indcount, &sentcount); ++ if (indcount < 2) ++ kbd_fakekey2(vc, 0, RA_DOWN_ARROW); ++ else ++ start_read_all_timer(vc, RA_TIMER); ++ break; ++ } ++} ++ ++static int pre_handle_cursor(struct vc_data *vc, u_char value, char up_flag) ++{ ++ unsigned long flags; ++ spk_lock(flags); ++ if (cursor_track == read_all_mode) { ++ spk_parked &= 0xfe; ++ if (synth == NULL || up_flag || spk_shut_up) { ++ spk_unlock(flags); ++ return NOTIFY_STOP; ++ } ++ del_timer(&cursor_timer); ++ spk_shut_up &= 0xfe; ++ do_flush(); ++ start_read_all_timer(vc, value+1); ++ spk_unlock(flags); ++ return NOTIFY_STOP; ++ } ++ spk_unlock(flags); ++ return NOTIFY_OK; ++} ++ ++static void do_handle_cursor(struct vc_data *vc, u_char value, char up_flag) ++{ ++ unsigned long flags; ++ struct var_t *cursor_timeout; ++ ++ spk_lock(flags); ++ spk_parked &= 0xfe; ++ if (synth == NULL || up_flag || spk_shut_up || cursor_track == CT_Off) { ++ spk_unlock(flags); ++ return; ++ } ++ spk_shut_up &= 0xfe; ++ if (no_intr) ++ do_flush(); ++/* the key press flushes if !no_inter but we want to flush on cursor ++ * moves regardless of no_inter state */ ++ is_cursor = value + 1; ++ old_cursor_pos = vc->vc_pos; ++ old_cursor_x = vc->vc_x; ++ old_cursor_y = vc->vc_y; ++ speakup_console[vc->vc_num]->ht.cy = vc->vc_y; ++ cursor_con = vc->vc_num; ++ if (cursor_track == CT_Highlight) ++ reset_highlight_buffers(vc); ++ cursor_timeout = get_var(CURSOR_TIME); ++ mod_timer(&cursor_timer, jiffies + msecs_to_jiffies(cursor_timeout->u.n.value)); ++ spk_unlock(flags); ++} ++ ++static void ++update_color_buffer(struct vc_data *vc , const char *ic , int len) ++{ ++ int i, bi, hi; ++ int vc_num = vc->vc_num; ++ ++ bi = ((vc->vc_attr & 0x70) >> 4) ; ++ hi = speakup_console[vc_num]->ht.highsize[bi]; ++ ++ i = 0; ++ if (speakup_console[vc_num]->ht.highsize[bi] == 0) { ++ speakup_console[vc_num]->ht.rpos[bi] = vc->vc_pos; ++ speakup_console[vc_num]->ht.rx[bi] = vc->vc_x; ++ speakup_console[vc_num]->ht.ry[bi] = vc->vc_y; ++ } ++ while ((hi < COLOR_BUFFER_SIZE) && (i < len)) { ++ if ((ic[i] > 32) && (ic[i] < 127)) { ++ speakup_console[vc_num]->ht.highbuf[bi][hi] = ic[i]; ++ hi++; ++ } else if ((ic[i] == 32) && (hi != 0)) { ++ if (speakup_console[vc_num]->ht.highbuf[bi][hi-1] != ++ 32) { ++ speakup_console[vc_num]->ht.highbuf[bi][hi] = ++ ic[i]; ++ hi++; ++ } ++ } ++ i++; ++ } ++ speakup_console[vc_num]->ht.highsize[bi] = hi; ++} ++ ++static void ++reset_highlight_buffers(struct vc_data *vc) ++{ ++ int i; ++ int vc_num = vc->vc_num; ++ for (i = 0 ; i < 8 ; i++) ++ speakup_console[vc_num]->ht.highsize[i] = 0; ++} ++ ++static int ++count_highlight_color(struct vc_data *vc) ++{ ++ int i, bg; ++ int cc; ++ int vc_num = vc->vc_num; ++ u16 ch; ++ u16 *start = (u16 *) vc->vc_origin; ++ ++ for (i = 0; i < 8; i++) ++ speakup_console[vc_num]->ht.bgcount[i] = 0; ++ ++ for (i = 0; i < vc->vc_rows; i++) { ++ u16 *end = start + vc->vc_cols*2; ++ u16 *ptr; ++ for (ptr = start; ptr < end; ptr++) { ++ ch = get_attributes(ptr); ++ bg = (ch & 0x70) >> 4; ++ speakup_console[vc_num]->ht.bgcount[bg]++; ++ } ++ start += vc->vc_size_row; ++ } ++ ++ cc = 0; ++ for (i = 0; i < 8; i++) ++ if (speakup_console[vc_num]->ht.bgcount[i] > 0) ++ cc++; ++ return cc; ++} ++ ++static int ++get_highlight_color(struct vc_data *vc) ++{ ++ int i, j; ++ unsigned int cptr[8], tmp; ++ int vc_num = vc->vc_num; ++ ++ for (i = 0; i < 8; i++) ++ cptr[i] = i; ++ ++ for (i = 0; i < 7; i++) ++ for (j = i + 1; j < 8; j++) ++ if (speakup_console[vc_num]->ht.bgcount[cptr[i]] > ++ speakup_console[vc_num]->ht.bgcount[cptr[j]]) { ++ tmp = cptr[i]; ++ cptr[i] = cptr[j]; ++ cptr[j] = tmp; ++ } ++ ++ for (i = 0; i < 8; i++) ++ if (speakup_console[vc_num]->ht.bgcount[cptr[i]] != 0) ++ if (speakup_console[vc_num]->ht.highsize[cptr[i]] > 0) ++ return cptr[i]; ++ return -1; ++} ++ ++static int ++speak_highlight(struct vc_data *vc) ++{ ++ int hc, d; ++ int vc_num = vc->vc_num; ++ if (count_highlight_color(vc) == 1) ++ return 0; ++ hc = get_highlight_color(vc); ++ if (hc != -1) { ++ d = vc->vc_y-speakup_console[vc_num]->ht.cy; ++ if ((d == 1) || (d == -1)) ++ if (speakup_console[vc_num]->ht.ry[hc] != vc->vc_y) ++ return 0; ++ spk_parked |= 0x01; ++ do_flush(); ++ spkup_write(speakup_console[vc_num]->ht.highbuf[hc], ++ speakup_console[vc_num]->ht.highsize[hc]); ++ spk_pos = spk_cp = speakup_console[vc_num]->ht.rpos[hc]; ++ spk_x = spk_cx = speakup_console[vc_num]->ht.rx[hc]; ++ spk_y = spk_cy = speakup_console[vc_num]->ht.ry[hc]; ++ return 1; ++ } ++ return 0; ++} ++ ++static void ++cursor_done(u_long data) ++{ ++ struct vc_data *vc = vc_cons[cursor_con].d; ++ unsigned long flags; ++ del_timer(&cursor_timer); ++ spk_lock(flags); ++ if (cursor_con != fg_console) { ++ is_cursor = 0; ++ goto out; ++ } ++ speakup_date(vc); ++ if (win_enabled) { ++ if (vc->vc_x >= win_left && vc->vc_x <= win_right && ++ vc->vc_y >= win_top && vc->vc_y <= win_bottom) { ++ spk_keydown = is_cursor = 0; ++ goto out; ++ } ++ } ++ if (cursor_track == read_all_mode) { ++ handle_cursor_read_all(vc, read_all_key); ++ goto out; ++ } ++ if (cursor_track == CT_Highlight) { ++ if (speak_highlight(vc)) { ++ spk_keydown = is_cursor = 0; ++ goto out; ++ } ++ } ++ if (cursor_track == CT_Window) ++ speakup_win_say(vc); ++ else if (is_cursor == 1 || is_cursor == 4) ++ say_line_from_to(vc, 0, vc->vc_cols, 0); ++ else ++ say_char(vc); ++ spk_keydown = is_cursor = 0; ++out: ++ spk_unlock(flags); ++} ++ ++/* called by: vt_notifier_call() */ ++static void speakup_bs(struct vc_data *vc) ++{ ++ unsigned long flags; ++ if (!speakup_console[vc->vc_num]) ++ return; ++ if (!spk_trylock(flags)) ++ /* Speakup output, discard */ ++ return; ++ if (!spk_parked) ++ speakup_date(vc); ++ if (spk_shut_up || synth == NULL) { ++ spk_unlock(flags); ++ return; ++ } ++ if (vc->vc_num == fg_console && spk_keydown) { ++ spk_keydown = 0; ++ if (!is_cursor) ++ say_char(vc); ++ } ++ spk_unlock(flags); ++} ++ ++/* called by: vt_notifier_call() */ ++static void speakup_con_write(struct vc_data *vc, const char *str, int len) ++{ ++ unsigned long flags; ++ if ((vc->vc_num != fg_console) || spk_shut_up || synth == NULL) ++ return; ++ if (!spk_trylock(flags)) ++ /* Speakup output, discard */ ++ return; ++ if (bell_pos && spk_keydown && (vc->vc_x == bell_pos - 1)) ++ bleep(3); ++ if ((is_cursor) || (cursor_track == read_all_mode)) { ++ if (cursor_track == CT_Highlight) ++ update_color_buffer(vc, str, len); ++ spk_unlock(flags); ++ return; ++ } ++ if (win_enabled) { ++ if (vc->vc_x >= win_left && vc->vc_x <= win_right && ++ vc->vc_y >= win_top && vc->vc_y <= win_bottom) { ++ spk_unlock(flags); ++ return; ++ } ++ } ++ ++ spkup_write(str, len); ++ spk_unlock(flags); ++} ++ ++void ++speakup_con_update(struct vc_data *vc) ++{ ++ unsigned long flags; ++ if (speakup_console[vc->vc_num] == NULL || spk_parked) ++ return; ++ if (!spk_trylock(flags)) ++ /* Speakup output, discard */ ++ return; ++ speakup_date(vc); ++ spk_unlock(flags); ++} ++ ++static void do_handle_spec(struct vc_data *vc, u_char value, char up_flag) ++{ ++ unsigned long flags; ++ int on_off = 2; ++ char *label; ++ if (synth == NULL || up_flag || spk_killed) ++ return; ++ spk_lock(flags); ++ spk_shut_up &= 0xfe; ++ if (no_intr) ++ do_flush(); ++ switch (value) { ++ case KVAL(K_CAPS): ++ label = msg_get(MSG_KEYNAME_CAPSLOCK); ++ on_off = (vc_kbd_led(kbd_table + vc->vc_num, VC_CAPSLOCK)); ++ break; ++ case KVAL(K_NUM): ++ label = msg_get(MSG_KEYNAME_NUMLOCK); ++ on_off = (vc_kbd_led(kbd_table + vc->vc_num, VC_NUMLOCK)); ++ break; ++ case KVAL(K_HOLD): ++ label = msg_get(MSG_KEYNAME_SCROLLLOCK); ++ on_off = (vc_kbd_led(kbd_table + vc->vc_num, VC_SCROLLOCK)); ++ if (speakup_console[vc->vc_num]) ++ speakup_console[vc->vc_num]->tty_stopped = on_off; ++ break; ++ default: ++ spk_parked &= 0xfe; ++ spk_unlock(flags); ++ return; ++ } ++ if (on_off < 2) ++ synth_printf("%s %s\n", ++ label, msg_get(MSG_STATUS_START + on_off)); ++ spk_unlock(flags); ++} ++ ++static int ++inc_dec_var(u_char value) ++{ ++ struct st_var_header *p_header; ++ struct var_t *var_data; ++ char num_buf[32]; ++ char *cp = num_buf; ++ char *pn; ++ int var_id = (int)value - VAR_START; ++ int how = (var_id&1) ? E_INC : E_DEC; ++ var_id = var_id/2+FIRST_SET_VAR; ++ p_header = get_var_header(var_id); ++ if (p_header == NULL) ++ return -1; ++ if (p_header->var_type != VAR_NUM) ++ return -1; ++ var_data = p_header->data; ++ if (set_num_var(1, p_header, how) != 0) ++ return -1; ++ if (!spk_close_press) { ++ for (pn = p_header->name; *pn; pn++) { ++ if (*pn == '_') ++ *cp = SPACE; ++ else ++ *cp++ = *pn; ++ } ++ } ++ snprintf(cp, sizeof(num_buf) - (cp - num_buf), " %d ", ++ var_data->u.n.value); ++ synth_printf("%s", num_buf); ++ return 0; ++} ++ ++static void ++speakup_win_set(struct vc_data *vc) ++{ ++ char info[40]; ++ if (win_start > 1) { ++ synth_printf("%s\n", msg_get(MSG_WINDOW_ALREADY_SET)); ++ return; ++ } ++ if (spk_x < win_left || spk_y < win_top) { ++ synth_printf("%s\n", msg_get(MSG_END_BEFORE_START)); ++ return; ++ } ++ if (win_start && spk_x == win_left && spk_y == win_top) { ++ win_left = 0; ++ win_right = vc->vc_cols-1; ++ win_bottom = spk_y; ++ snprintf(info, sizeof(info), msg_get(MSG_WINDOW_LINE), ++ (int)win_top+1); ++ } else { ++ if (!win_start) { ++ win_top = spk_y; ++ win_left = spk_x; ++ } else { ++ win_bottom = spk_y; ++ win_right = spk_x; ++ } ++ snprintf(info, sizeof(info), msg_get(MSG_WINDOW_BOUNDARY), ++ (win_start) ? msg_get(MSG_END) : msg_get(MSG_START), ++ (int)spk_y+1, (int)spk_x+1); ++ } ++ synth_printf("%s\n", info); ++ win_start++; ++} ++ ++static void ++speakup_win_clear(struct vc_data *vc) ++{ ++ win_top = win_bottom = 0; ++ win_left = win_right = 0; ++ win_start = 0; ++ synth_printf("%s\n", msg_get(MSG_WINDOW_CLEARED)); ++} ++ ++static void ++speakup_win_enable(struct vc_data *vc) ++{ ++ if (win_start < 2) { ++ synth_printf("%s\n", msg_get(MSG_NO_WINDOW)); ++ return; ++ } ++ win_enabled ^= 1; ++ if (win_enabled) ++ synth_printf("%s\n", msg_get(MSG_WINDOW_SILENCED)); ++ else ++ synth_printf("%s\n", msg_get(MSG_WINDOW_SILENCE_DISABLED)); ++} ++ ++static void ++speakup_bits(struct vc_data *vc) ++{ ++ int val = this_speakup_key - (FIRST_EDIT_BITS - 1); ++ if (special_handler != NULL || val < 1 || val > 6) { ++ synth_printf("%s\n", msg_get(MSG_ERROR)); ++ return; ++ } ++ pb_edit = &punc_info[val]; ++ synth_printf(msg_get(MSG_EDIT_PROMPT), pb_edit->name); ++ special_handler = edit_bits; ++} ++ ++static int handle_goto(struct vc_data *vc, u_char type, u_char ch, u_short key) ++{ ++ static u_char *goto_buf = "\0\0\0\0\0\0"; ++ static int num = 0; ++ int maxlen, go_pos; ++ char *cp; ++ if (type == KT_SPKUP && ch == SPEAKUP_GOTO) ++ goto do_goto; ++ if (type == KT_LATIN && ch == '\n') ++ goto do_goto; ++ if (type != 0) ++ goto oops; ++ if (ch == 8) { ++ if (num == 0) ++ return -1; ++ ch = goto_buf[--num]; ++ goto_buf[num] = '\0'; ++ spkup_write(&ch, 1); ++ return 1; ++ } ++ if (ch < '+' || ch > 'y') ++ goto oops; ++ goto_buf[num++] = ch; ++ goto_buf[num] = '\0'; ++ spkup_write(&ch, 1); ++ maxlen = (*goto_buf >= '0') ? 3 : 4; ++ if ((ch == '+' || ch == '-') && num == 1) ++ return 1; ++ if (ch >= '0' && ch <= '9' && num < maxlen) ++ return 1; ++ if (num < maxlen-1 || num > maxlen) ++ goto oops; ++ if (ch < 'x' || ch > 'y') { ++oops: ++ if (!spk_killed) ++ synth_printf(" %s\n", msg_get(MSG_GOTO_CANCELED)); ++ goto_buf[num = 0] = '\0'; ++ special_handler = NULL; ++ return 1; ++ } ++ cp = speakup_s2i(goto_buf, &go_pos); ++ goto_pos = (u_long)go_pos; ++ if (*cp == 'x') { ++ if (*goto_buf < '0') ++ goto_pos += spk_x; ++ else ++ goto_pos--; ++ if (goto_pos < 0) ++ goto_pos = 0; ++ if (goto_pos >= vc->vc_cols) ++ goto_pos = vc->vc_cols-1; ++ goto_x = 1; ++ } else { ++ if (*goto_buf < '0') ++ goto_pos += spk_y; ++ else ++ goto_pos--; ++ if (goto_pos < 0) ++ goto_pos = 0; ++ if (goto_pos >= vc->vc_rows) ++ goto_pos = vc->vc_rows-1; ++ goto_x = 0; ++ } ++ goto_buf[num = 0] = '\0'; ++do_goto: ++ special_handler = NULL; ++ spk_parked |= 0x01; ++ if (goto_x) { ++ spk_pos -= spk_x * 2; ++ spk_x = goto_pos; ++ spk_pos += goto_pos * 2; ++ say_word(vc); ++ } else { ++ spk_y = goto_pos; ++ spk_pos = vc->vc_origin + (goto_pos * vc->vc_size_row); ++ say_line(vc); ++ } ++ return 1; ++} ++ ++static void ++speakup_goto(struct vc_data *vc) ++{ ++ if (special_handler != NULL) { ++ synth_printf("%s\n", msg_get(MSG_ERROR)); ++ return; ++ } ++ synth_printf("%s\n", msg_get(MSG_GOTO)); ++ special_handler = handle_goto; ++ return; ++} ++ ++static void speakup_help(struct vc_data *vc) ++{ ++ handle_help(vc, KT_SPKUP, SPEAKUP_HELP, 0); ++} ++ ++static void ++do_nothing(struct vc_data *vc) ++{ ++ return; /* flush done in do_spkup */ ++} ++static u_char key_speakup, spk_key_locked; ++ ++static void ++speakup_lock(struct vc_data *vc) ++{ ++ if (!spk_key_locked) ++ spk_key_locked = key_speakup = 16; ++ else ++ spk_key_locked = key_speakup = 0; ++} ++ ++typedef void(*spkup_hand)(struct vc_data *); ++spkup_hand spkup_handler[] = { ++ /* must be ordered same as defines in speakup.h */ ++ do_nothing, speakup_goto, speech_kill, speakup_shut_up, ++ speakup_cut, speakup_paste, say_first_char, say_last_char, ++ say_char, say_prev_char, say_next_char, ++ say_word, say_prev_word, say_next_word, ++ say_line, say_prev_line, say_next_line, ++ top_edge, bottom_edge, left_edge, right_edge, ++ spell_word, spell_word, say_screen, ++ say_position, say_attributes, ++ speakup_off, speakup_parked, say_line, /* this is for indent */ ++ say_from_top, say_to_bottom, ++ say_from_left, say_to_right, ++ say_char_num, speakup_bits, speakup_bits, say_phonetic_char, ++ speakup_bits, speakup_bits, speakup_bits, ++ speakup_win_set, speakup_win_clear, speakup_win_enable, speakup_win_say, ++ speakup_lock, speakup_help, toggle_cursoring, read_all_doc, NULL ++}; ++ ++static void do_spkup(struct vc_data *vc, u_char value) ++{ ++ if (spk_killed && value != SPEECH_KILL) ++ return; ++ spk_keydown = 0; ++ spk_lastkey = 0; ++ spk_shut_up &= 0xfe; ++ this_speakup_key = value; ++ if (value < SPKUP_MAX_FUNC && spkup_handler[value]) { ++ do_flush(); ++ (*spkup_handler[value])(vc); ++ } else { ++ if (inc_dec_var(value) < 0) ++ bleep(9); ++ } ++} ++ ++static const char *pad_chars = "0123456789+-*/\015,.?()"; ++ ++int ++speakup_key(struct vc_data *vc, int shift_state, int keycode, u_short keysym, ++ int up_flag) ++{ ++ unsigned long flags; ++ int kh; ++ u_char *key_info; ++ u_char type = KTYP(keysym), value = KVAL(keysym), new_key = 0; ++ u_char shift_info, offset; ++ int ret = 0; ++ if (synth == NULL) ++ return 0; ++ ++ spk_lock(flags); ++ tty = vc->vc_tty; ++ if (type >= 0xf0) ++ type -= 0xf0; ++ if (type == KT_PAD && ++ (vc_kbd_led(kbd_table + fg_console, VC_NUMLOCK))) { ++ if (up_flag) { ++ spk_keydown = 0; ++ goto out; ++ } ++ value = spk_lastkey = pad_chars[value]; ++ spk_keydown++; ++ spk_parked &= 0xfe; ++ goto no_map; ++ } ++ if (keycode >= MAX_KEY) ++ goto no_map; ++ key_info = our_keys[keycode]; ++ if (key_info == 0) ++ goto no_map; ++ /* Check valid read all mode keys */ ++ if ((cursor_track == read_all_mode) && (!up_flag)) { ++ switch (value) { ++ case KVAL(K_DOWN): ++ case KVAL(K_UP): ++ case KVAL(K_LEFT): ++ case KVAL(K_RIGHT): ++ case KVAL(K_PGUP): ++ case KVAL(K_PGDN): ++ break; ++ default: ++ stop_read_all(vc); ++ break; ++ } ++ } ++ shift_info = (shift_state&0x0f) + key_speakup; ++ offset = shift_table[shift_info]; ++ if (offset) { ++ new_key = key_info[offset]; ++ if (new_key) { ++ ret = 1; ++ if (new_key == SPK_KEY) { ++ if (!spk_key_locked) ++ key_speakup = (up_flag) ? 0 : 16; ++ if (up_flag || spk_killed) ++ goto out; ++ spk_shut_up &= 0xfe; ++ do_flush(); ++ goto out; ++ } ++ if (up_flag) ++ goto out; ++ if (last_keycode == keycode && ++ last_spk_jiffy+MAX_DELAY > jiffies) { ++ spk_close_press = 1; ++ offset = shift_table[shift_info+32]; ++ /* double press? */ ++ if (offset && key_info[offset]) ++ new_key = key_info[offset]; ++ } ++ last_keycode = keycode; ++ last_spk_jiffy = jiffies; ++ type = KT_SPKUP; ++ value = new_key; ++ } ++ } ++no_map: ++ if (type == KT_SPKUP && special_handler == NULL) { ++ do_spkup(vc, new_key); ++ spk_close_press = 0; ++ ret = 1; ++ goto out; ++ } ++ if (up_flag || spk_killed || type == KT_SHIFT) ++ goto out; ++ spk_shut_up &= 0xfe; ++ kh = (value == KVAL(K_DOWN)) ++ || (value == KVAL(K_UP)) ++ || (value == KVAL(K_LEFT)) ++ || (value == KVAL(K_RIGHT)); ++ if ((cursor_track != read_all_mode) || !kh) ++ if (!no_intr) ++ do_flush(); ++ if (special_handler) { ++ if (type == KT_SPEC && value == 1) { ++ value = '\n'; ++ type = KT_LATIN; ++ } else if (type == KT_LETTER) ++ type = KT_LATIN; ++ else if (value == 0x7f) ++ value = 8; /* make del = backspace */ ++ ret = (*special_handler)(vc, type, value, keycode); ++ spk_close_press = 0; ++ if (ret < 0) ++ bleep(9); ++ goto out; ++ } ++ last_keycode = 0; ++out: ++ spk_unlock(flags); ++ return ret; ++} ++ ++static int keyboard_notifier_call(struct notifier_block *nb, ++ unsigned long code, void *_param) ++{ ++ struct keyboard_notifier_param *param = _param; ++ struct vc_data *vc = param->vc; ++ int up = !param->down; ++ int ret = NOTIFY_OK; ++ static int keycode; /* to hold the current keycode */ ++ ++ if (vc->vc_mode == KD_GRAPHICS) ++ return ret; ++ switch (code) { ++ case KBD_KEYCODE: ++ /* speakup requires keycode and keysym currently */ ++ keycode = param->value; ++ break; ++ case KBD_UNBOUND_KEYCODE: ++ /* not used yet */ ++ break; ++ case KBD_UNICODE: ++ /* not used yet */ ++ break; ++ case KBD_KEYSYM: ++ if (speakup_key(vc, param->shift, keycode, param->value, up)) ++ ret = NOTIFY_STOP; ++ else ++ if (KTYP(param->value) == KT_CUR) ++ ret = pre_handle_cursor(vc, ++ KVAL(param->value), up); ++ break; ++ case KBD_POST_KEYSYM: { ++ unsigned char type = KTYP(param->value) - 0xf0; ++ unsigned char val = KVAL(param->value); ++ switch (type) { ++ case KT_SHIFT: ++ do_handle_shift(vc, val, up); ++ break; ++ case KT_LATIN: ++ case KT_LETTER: ++ do_handle_latin(vc, val, up); ++ break; ++ case KT_CUR: ++ do_handle_cursor(vc, val, up); ++ break; ++ case KT_SPEC: ++ do_handle_spec(vc, val, up); ++ break; ++ } ++ break; ++ } ++ } ++ return ret; ++} ++ ++static int vt_notifier_call(struct notifier_block *nb, ++ unsigned long code, void *_param) ++{ ++ struct vt_notifier_param *param = _param; ++ struct vc_data *vc = param->vc; ++ switch (code) { ++ case VT_ALLOCATE: ++ if (vc->vc_mode == KD_TEXT) ++ speakup_allocate(vc); ++ break; ++ case VT_DEALLOCATE: ++ speakup_deallocate(vc); ++ break; ++ case VT_WRITE: ++ if (param->c == '\b') ++ speakup_bs(vc); ++ else ++ if (param->c < 0x100) { ++ char d = param->c; ++ speakup_con_write(vc, &d, 1); ++ } ++ break; ++ case VT_UPDATE: ++ speakup_con_update(vc); ++ break; ++ } ++ return NOTIFY_OK; ++} ++ ++/* called by: module_exit() */ ++static void __exit speakup_exit(void) ++{ ++ int i; ++ ++ free_user_msgs(); ++ unregister_keyboard_notifier(&keyboard_notifier_block); ++ unregister_vt_notifier(&vt_notifier_block); ++ speakup_unregister_devsynth(); ++ del_timer(&cursor_timer); ++ ++ kthread_stop(speakup_task); ++ speakup_task = NULL; ++ mutex_lock(&spk_mutex); ++ synth_release(); ++ mutex_unlock(&spk_mutex); ++ ++ for (i = 0; i < MAXVARS; i++) ++ speakup_unregister_var(i); ++ ++ for (i = 0; i < 256; i++) { ++ if (characters[i] != default_chars[i]) ++ kfree(characters[i]); ++ } ++ for (i = 0; speakup_console[i]; i++) ++ kfree(speakup_console[i]); ++ speakup_kobj_exit(); ++} ++ ++/* call by: module_init() */ ++static int __init speakup_init(void) ++{ ++ int i; ++ struct st_spk_t *first_console; ++ struct vc_data *vc = vc_cons[fg_console].d; ++ struct var_t *var; ++ ++ initialize_msgs(); /* Initialize arrays for i18n. */ ++ first_console = kzalloc(sizeof(*first_console), GFP_KERNEL); ++ if (!first_console) ++ return -ENOMEM; ++ if (speakup_kobj_init() < 0) ++ return -ENOMEM; ++ ++ reset_default_chars(); ++ reset_default_chartab(); ++ ++ speakup_console[vc->vc_num] = first_console; ++ speakup_date(vc); ++ pr_info("speakup %s: initialized\n", SPEAKUP_VERSION); ++ ++ strlwr(synth_name); ++ spk_vars[0].u.n.high = vc->vc_cols; ++ for (var = spk_vars; var->var_id !=MAXVARS; var++) ++ speakup_register_var(var); ++ for (var = synth_time_vars; (var->var_id >= 0) && (var->var_id < MAXVARS); var++) ++ speakup_register_var(var); ++ for (i = 1; punc_info[i].mask != 0; i++) ++ set_mask_bits(0, i, 2); ++ ++ set_key_info(key_defaults, key_buf); ++ if (quiet_boot) ++ spk_shut_up |= 0x01; ++ ++ for (i = 0; i < MAX_NR_CONSOLES; i++) ++ if (vc_cons[i].d) ++ speakup_allocate(vc_cons[i].d); ++ ++ pr_warn("synth name on entry is: %s\n", synth_name); ++ synth_init(synth_name); ++ speakup_register_devsynth(); ++ ++ register_keyboard_notifier(&keyboard_notifier_block); ++ register_vt_notifier(&vt_notifier_block); ++ ++ speakup_task = kthread_create(speakup_thread, NULL, "speakup"); ++ set_user_nice(speakup_task, 10); ++ if ( ! IS_ERR(speakup_task)) ++ wake_up_process(speakup_task); ++ else ++ return -ENOMEM; ++ return 0; ++} ++ ++module_init(speakup_init); ++module_exit(speakup_exit); ++ +--- a/drivers/staging/speakup/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/Makefile 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,12 @@ ++KERNELDIR = /lib/modules/`uname -r`/build ++ ++all: modules ++ ++modules: ++ make -C $(KERNELDIR) M=`pwd` `cat allmodule.mk` ++ ++modules_install: ++ make INSTALL_MOD_DIR=speakup -C $(KERNELDIR) M=`pwd` `cat allmodule.mk` $@ ++ ++clean: ++ make -C $(KERNELDIR) M=`pwd` `cat allmodule.mk` $@ +--- a/drivers/staging/speakup/selection.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/selection.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,152 @@ ++#include <linux/consolemap.h> ++#include <linux/interrupt.h> ++#include <linux/sched.h> ++#include <linux/selection.h> ++ ++#include "speakup.h" ++ ++/* ------ cut and paste ----- */ ++/* Don't take this from <ctype.h>: 011-015 on the screen aren't spaces */ ++#define ishardspace(c) ((c) == ' ') ++ ++unsigned short xs, ys, xe, ye; /* our region points */ ++ ++/* Variables for selection control. */ ++/* must not be disallocated */ ++struct vc_data *spk_sel_cons; ++/* cleared by clear_selection */ ++static int sel_start = -1; ++static int sel_end; ++static int sel_buffer_lth; ++static char *sel_buffer; ++ ++static unsigned char sel_pos(int n) ++{ ++ return inverse_translate(spk_sel_cons, screen_glyph(spk_sel_cons, n)); ++} ++ ++void speakup_clear_selection(void) ++{ ++ sel_start = -1; ++} ++ ++/* does screen address p correspond to character at LH/RH edge of screen? */ ++static int atedge(const int p, int size_row) ++{ ++ return (!(p % size_row) || !((p + 2) % size_row)); ++} ++ ++/* constrain v such that v <= u */ ++static unsigned short limit(const unsigned short v, const unsigned short u) ++{ ++ return (v > u) ? u : v; ++} ++ ++int speakup_set_selection(struct tty_struct *tty) ++{ ++ int new_sel_start, new_sel_end; ++ char *bp, *obp; ++ int i, ps, pe; ++ struct vc_data *vc = vc_cons[fg_console].d; ++ ++ xs = limit(xs, vc->vc_cols - 1); ++ ys = limit(ys, vc->vc_rows - 1); ++ xe = limit(xe, vc->vc_cols - 1); ++ ye = limit(ye, vc->vc_rows - 1); ++ ps = ys * vc->vc_size_row + (xs << 1); ++ pe = ye * vc->vc_size_row + (xe << 1); ++ ++ if (ps > pe) { ++ /* make sel_start <= sel_end */ ++ int tmp = ps; ++ ps = pe; ++ pe = tmp; ++ } ++ ++ if (spk_sel_cons != vc_cons[fg_console].d) { ++ speakup_clear_selection(); ++ spk_sel_cons = vc_cons[fg_console].d; ++ printk(KERN_WARNING ++ "Selection: mark console not the same as cut\n"); ++ return -EINVAL; ++ } ++ ++ new_sel_start = ps; ++ new_sel_end = pe; ++ ++ /* select to end of line if on trailing space */ ++ if (new_sel_end > new_sel_start && ++ !atedge(new_sel_end, vc->vc_size_row) && ++ ishardspace(sel_pos(new_sel_end))) { ++ for (pe = new_sel_end + 2; ; pe += 2) ++ if (!ishardspace(sel_pos(pe)) || ++ atedge(pe, vc->vc_size_row)) ++ break; ++ if (ishardspace(sel_pos(pe))) ++ new_sel_end = pe; ++ } ++ if ((new_sel_start == sel_start) && (new_sel_end == sel_end)) ++ return 0; /* no action required */ ++ ++ sel_start = new_sel_start; ++ sel_end = new_sel_end; ++ /* Allocate a new buffer before freeing the old one ... */ ++ bp = kmalloc((sel_end-sel_start)/2+1, GFP_ATOMIC); ++ if (!bp) { ++ printk(KERN_WARNING "selection: kmalloc() failed\n"); ++ speakup_clear_selection(); ++ return -ENOMEM; ++ } ++ kfree(sel_buffer); ++ sel_buffer = bp; ++ ++ obp = bp; ++ for (i = sel_start; i <= sel_end; i += 2) { ++ *bp = sel_pos(i); ++ if (!ishardspace(*bp++)) ++ obp = bp; ++ if (!((i + 2) % vc->vc_size_row)) { ++ /* strip trailing blanks from line and add newline, ++ unless non-space at end of line. */ ++ if (obp != bp) { ++ bp = obp; ++ *bp++ = '\r'; ++ } ++ obp = bp; ++ } ++ } ++ sel_buffer_lth = bp - sel_buffer; ++ return 0; ++} ++ ++int speakup_paste_selection(struct tty_struct *tty) ++{ ++ struct vc_data *vc = (struct vc_data *) tty->driver_data; ++ int pasted = 0, count; ++ DECLARE_WAITQUEUE(wait, current); ++ add_wait_queue(&vc->paste_wait, &wait); ++ while (sel_buffer && sel_buffer_lth > pasted) { ++ set_current_state(TASK_INTERRUPTIBLE); ++ if (test_bit(TTY_THROTTLED, &tty->flags)) { ++ if (in_atomic()) ++ /* can't be performed in an interrupt handler, abort */ ++ break; ++ schedule(); ++ continue; ++ } ++ count = sel_buffer_lth - pasted; ++ count = min_t(int, count, tty->receive_room); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31) ++ tty->ldisc->ops->receive_buf(tty, sel_buffer + pasted, 0, count); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) ++ tty->ldisc.ops->receive_buf(tty, sel_buffer + pasted, 0, count); ++#else ++ tty->ldisc.receive_buf(tty, sel_buffer + pasted, 0, count); ++#endif ++ pasted += count; ++ } ++ remove_wait_queue(&vc->paste_wait, &wait); ++ current->state = TASK_RUNNING; ++ return 0; ++} ++ +--- a/drivers/staging/speakup/serialio.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/serialio.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,208 @@ ++#include <linux/interrupt.h> ++#include <linux/ioport.h> ++ ++#include "spk_types.h" ++#include "speakup.h" ++#include "spk_priv.h" ++#include "serialio.h" ++ ++static void start_serial_interrupt(int irq); ++ ++static struct serial_state rs_table[] = { ++ SERIAL_PORT_DFNS ++}; ++static struct serial_state *serstate; ++static int timeouts; ++ ++struct serial_state *spk_serial_init(int index) ++{ ++ int baud = 9600, quot = 0; ++ unsigned int cval = 0; ++ int cflag = CREAD | HUPCL | CLOCAL | B9600 | CS8; ++ struct serial_state *ser = NULL; ++ ++ ser = rs_table + index; ++ /* Divisor, bytesize and parity */ ++ quot = ser->baud_base / baud; ++ cval = cflag & (CSIZE | CSTOPB); ++#if defined(__powerpc__) || defined(__alpha__) ++ cval >>= 8; ++#else /* !__powerpc__ && !__alpha__ */ ++ cval >>= 4; ++#endif /* !__powerpc__ && !__alpha__ */ ++ if (cflag & PARENB) ++ cval |= UART_LCR_PARITY; ++ if (!(cflag & PARODD)) ++ cval |= UART_LCR_EPAR; ++ if (synth_request_region(ser->port, 8)) { ++ /* try to take it back. */ ++ printk("Ports not available, trying to steal them\n"); ++ __release_region(&ioport_resource, ser->port, 8); ++ if (synth_request_region(ser->port, 8)) ++ return NULL; ++ } ++ ++ /* Disable UART interrupts, set DTR and RTS high ++ * and set speed. */ ++ outb(cval | UART_LCR_DLAB, ser->port + UART_LCR); /* set DLAB */ ++ outb(quot & 0xff, ser->port + UART_DLL); /* LS of divisor */ ++ outb(quot >> 8, ser->port + UART_DLM); /* MS of divisor */ ++ outb(cval, ser->port + UART_LCR); /* reset DLAB */ ++ ++ /* Turn off Interrupts */ ++ outb(0, ser->port + UART_IER); ++ outb(UART_MCR_DTR | UART_MCR_RTS, ser->port + UART_MCR); ++ ++ /* If we read 0xff from the LSR, there is no UART here. */ ++ if (inb(ser->port + UART_LSR) == 0xff) { ++ synth_release_region(ser->port, 8); ++ serstate = NULL; ++ return NULL; ++ } ++ ++ mdelay(1); ++ speakup_info.port_tts = ser->port; ++ serstate = ser; ++ ++ start_serial_interrupt(ser->irq); ++ ++ return ser; ++} ++ ++static irqreturn_t synth_readbuf_handler(int irq, void *dev_id) ++{ ++ unsigned long flags; ++/*printk(KERN_ERR "in irq\n"); */ ++/*pr_warn("in IRQ\n"); */ ++ int c; ++ spk_lock(flags); ++ while (inb_p(speakup_info.port_tts + UART_LSR) & UART_LSR_DR) { ++ ++ c = inb_p(speakup_info.port_tts+UART_RX); ++ synth->read_buff_add((u_char) c); ++/*printk(KERN_ERR "c = %d\n", c); */ ++/*pr_warn("C = %d\n", c); */ ++ } ++ spk_unlock(flags); ++ return IRQ_HANDLED; ++} ++ ++static void start_serial_interrupt(int irq) ++{ ++ int rv; ++ ++ if (synth->read_buff_add == NULL) ++ return; ++ ++ rv = request_irq(irq, synth_readbuf_handler, IRQF_SHARED, ++ "serial", (void *) synth_readbuf_handler); ++ ++ if (rv) ++ printk(KERN_ERR "Unable to request Speakup serial I R Q\n"); ++ /* Set MCR */ ++ outb(UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2, ++ speakup_info.port_tts + UART_MCR); ++ /* Turn on Interrupts */ ++ outb(UART_IER_MSI|UART_IER_RLSI|UART_IER_RDI, ++ speakup_info.port_tts + UART_IER); ++ inb(speakup_info.port_tts+UART_LSR); ++ inb(speakup_info.port_tts+UART_RX); ++ inb(speakup_info.port_tts+UART_IIR); ++ inb(speakup_info.port_tts+UART_MSR); ++ outb(1, speakup_info.port_tts + UART_FCR); /* Turn FIFO On */ ++} ++ ++void stop_serial_interrupt(void) ++{ ++ if (speakup_info.port_tts == 0) ++ return; ++ ++ if (synth->read_buff_add == NULL) ++ return; ++ ++ /* Turn off interrupts */ ++ outb(0, speakup_info.port_tts+UART_IER); ++ /* Free IRQ */ ++ free_irq(serstate->irq, (void *) synth_readbuf_handler); ++} ++ ++int wait_for_xmitr(void) ++{ ++ int tmout = SPK_XMITR_TIMEOUT; ++ if ((synth->alive) && (timeouts >= NUM_DISABLE_TIMEOUTS)) { ++ pr_warn("%s: too many timeouts, deactivating speakup\n", synth->long_name); ++ synth->alive = 0; ++ /* No synth any more, so nobody will restart TTYs, and we thus ++ * need to do it ourselves. Now that there is no synth we can ++ * let application flood anyway */ ++ speakup_start_ttys(); ++ timeouts = 0; ++ return 0; ++ } ++ while (spk_serial_tx_busy()) { ++ if (--tmout == 0) { ++ pr_warn("%s: timed out (tx busy)\n", synth->long_name); ++ timeouts++; ++ return 0; ++ } ++ udelay(1); ++ } ++ tmout = SPK_CTS_TIMEOUT; ++ while (!((inb_p(speakup_info.port_tts + UART_MSR)) & UART_MSR_CTS)) { ++ /* CTS */ ++ if (--tmout == 0) { ++ // pr_warn("%s: timed out (cts)\n", synth->long_name); ++ timeouts++; ++ return 0; ++ } ++ udelay(1); ++ } ++ timeouts = 0; ++ return 1; ++} ++ ++unsigned char spk_serial_in(void) ++{ ++ int tmout = SPK_SERIAL_TIMEOUT; ++ ++ while (!(inb_p(speakup_info.port_tts + UART_LSR) & UART_LSR_DR)) { ++ if (--tmout == 0) { ++ pr_warn("time out while waiting for input.\n"); ++ return 0xff; ++ } ++ udelay(1); ++ } ++ return inb_p(speakup_info.port_tts + UART_RX); ++} ++EXPORT_SYMBOL_GPL(spk_serial_in); ++ ++unsigned char spk_serial_in_nowait(void) ++{ ++ unsigned char lsr; ++ ++ lsr = inb_p(speakup_info.port_tts + UART_LSR); ++ if (!(lsr & UART_LSR_DR)) ++ return 0; ++ return inb_p(speakup_info.port_tts + UART_RX); ++} ++EXPORT_SYMBOL_GPL(spk_serial_in_nowait); ++ ++int spk_serial_out(const char ch) ++{ ++ if (synth->alive && wait_for_xmitr()) { ++ outb_p(ch, speakup_info.port_tts); ++ return 1; ++ } ++ return 0; ++} ++EXPORT_SYMBOL_GPL(spk_serial_out); ++ ++void spk_serial_release(void) ++{ ++ if (speakup_info.port_tts == 0) ++ return; ++ synth_release_region(speakup_info.port_tts, 8); ++ speakup_info.port_tts = 0; ++} ++EXPORT_SYMBOL_GPL(spk_serial_release); ++ +--- a/drivers/staging/speakup/serialio.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/serialio.h 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,55 @@ ++#ifndef _SPEAKUP_SERIAL_H ++#define _SPEAKUP_SERIAL_H ++ ++#include <linux/serial.h> /* for rs_table, serial constants & ++ serial_uart_config */ ++#include <linux/serial_reg.h> /* for more serial constants */ ++#include <linux/serialP.h> /* for struct serial_state */ ++#ifndef __sparc__ ++#include <asm/serial.h> ++#endif ++ ++/* countdown values for serial timeouts in us */ ++#define SPK_SERIAL_TIMEOUT 100000 ++/* countdown values transmitter/dsr timeouts in us */ ++#define SPK_XMITR_TIMEOUT 100000 ++/* countdown values cts timeouts in us */ ++#define SPK_CTS_TIMEOUT 100000 ++/* check ttyS0 ... ttyS3 */ ++#define SPK_LO_TTY 0 ++#define SPK_HI_TTY 3 ++/* # of timeouts permitted before disable */ ++#define NUM_DISABLE_TIMEOUTS 3 ++/* buffer timeout in ms */ ++#define SPK_TIMEOUT 100 ++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) ++ ++#define spk_serial_tx_busy() ((inb(speakup_info.port_tts + UART_LSR) & BOTH_EMPTY) != BOTH_EMPTY) ++ ++/* 2.6.22 doesn't have them any more, hardcode it for now (these values should ++ * be fine for 99% cases) */ ++#ifndef BASE_BAUD ++#define BASE_BAUD (1843200 / 16) ++#endif ++#ifndef STD_COM_FLAGS ++#ifdef CONFIG_SERIAL_DETECT_IRQ ++#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ) ++#define STD_COM4_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_AUTO_IRQ) ++#else ++#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST) ++#define STD_COM4_FLAGS ASYNC_BOOT_AUTOCONF ++#endif ++#endif ++#ifndef SERIAL_PORT_DFNS ++#define SERIAL_PORT_DFNS \ ++ /* UART CLK PORT IRQ FLAGS */ \ ++ { 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS }, /* ttyS0 */ \ ++ { 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS }, /* ttyS1 */ \ ++ { 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS2 */ \ ++ { 0, BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS }, /* ttyS3 */ ++#endif ++#ifndef IRQF_SHARED ++#define IRQF_SHARED SA_SHIRQ ++#endif ++ ++#endif +--- a/drivers/staging/speakup/speakup_acnt.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_acnt.h 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,16 @@ ++/* speakup_acntpc.h - header file for speakups Accent-PC driver. */ ++ ++#define SYNTH_IO_EXTENT 0x02 ++ ++#define SYNTH_CLEAR 0x18 /* stops speech */ ++ ++ /* Port Status Flags */ ++#define SYNTH_READABLE 0x01 /* mask for bit which is nonzero if a ++ byte can be read from the data port */ ++#define SYNTH_WRITABLE 0x02 /* mask for RDY bit, which when set to ++ 1, indicates the data port is ready ++ to accept a byte of data. */ ++#define SYNTH_QUIET 'S' /* synth is not speaking */ ++#define SYNTH_FULL 'F' /* synth is full. */ ++#define SYNTH_ALMOST_EMPTY 'M' /* synth has les than 2 seconds of text left */ ++#define SYNTH_SPEAKING 's' /* synth is speaking and has a fare way to go */ +--- a/drivers/staging/speakup/speakup_acntpc.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_acntpc.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,323 @@ ++/* ++ * written by: Kirk Reiser <kirk@braille.uwo.ca> ++ * this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * this code is specificly written as a driver for the speakup screenreview ++ * package and is not a general device driver. ++ * This driver is for the Aicom Acent PC internal synthesizer. ++ */ ++ ++#include <linux/jiffies.h> ++#include <linux/sched.h> ++#include <linux/timer.h> ++#include <linux/kthread.h> ++ ++#include "spk_priv.h" ++#include "serialio.h" ++#include "speakup.h" ++#include "speakup_acnt.h" /* local header file for Accent values */ ++ ++#define DRV_VERSION "2.9" ++#define synth_readable() (inb_p(synth_port_control) & SYNTH_READABLE) ++#define synth_writable() (inb_p(synth_port_control) & SYNTH_WRITABLE) ++#define synth_full() (inb_p(speakup_info.port_tts + UART_RX) == 'F') ++#define PROCSPEECH '\r' ++ ++static int synth_probe(struct spk_synth *synth); ++static void accent_release(void); ++static const char *synth_immediate(struct spk_synth *synth, const char *buf); ++static void do_catch_up(struct spk_synth *synth); ++static void synth_flush(struct spk_synth *synth); ++ ++static int synth_port_control; ++static int port_forced; ++static unsigned int synth_portlist[] = { 0x2a8, 0 }; ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"\033P8" }}, ++ { CAPS_STOP, .u.s = {"\033P5" }}, ++ { RATE, .u.n = {"\033R%c", 9, 0, 17, 0, 0, "0123456789abcdefgh" }}, ++ { PITCH, .u.n = {"\033P%d", 5, 0, 9, 0, 0, NULL }}, ++ { VOL, .u.n = {"\033A%d", 5, 0, 9, 0, 0, NULL }}, ++ { TONE, .u.n = {"\033V%d", 5, 0, 9, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/acntpc. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_acntpc = { ++ .name = "acntpc", ++ .version = DRV_VERSION, ++ .long_name = "Accent PC", ++ .init = "\033=X \033Oi\033T2\033=M\033N1\n", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 1000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = synth_probe, ++ .release = accent_release, ++ .synth_immediate = synth_immediate, ++ .catch_up = do_catch_up, ++ .flush = synth_flush, ++ .is_alive = spk_synth_is_alive_nop, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = NULL, ++ .indexing = { ++ .command = NULL, ++ .lowindex = 0, ++ .highindex = 0, ++ .currindex = 0, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "acntpc", ++ }, ++}; ++ ++static const char *synth_immediate(struct spk_synth *synth, const char *buf) ++{ ++ u_char ch; ++ while ((ch = *buf)) { ++ int timeout = SPK_XMITR_TIMEOUT; ++ if (ch == '\n') ++ ch = PROCSPEECH; ++ if (synth_full()) ++ return buf; ++ while (synth_writable()) { ++ if (!--timeout) ++ return buf; ++ udelay(1); ++ } ++ outb_p(ch, speakup_info.port_tts); ++ buf++; ++ } ++ return 0; ++} ++ ++static void do_catch_up(struct spk_synth *synth) ++{ ++ u_char ch; ++ unsigned long flags; ++ unsigned long jiff_max; ++ int timeout; ++ int delay_time_val; ++ int jiffy_delta_val; ++ int full_time_val; ++ struct var_t *delay_time; ++ struct var_t *full_time; ++ struct var_t *jiffy_delta; ++ ++ jiffy_delta = get_var(JIFFY); ++ delay_time = get_var(DELAY); ++ full_time = get_var(FULL); ++ ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ spk_unlock(flags); ++ ++ jiff_max = jiffies + jiffy_delta_val; ++ while (!kthread_should_stop()) { ++ spk_lock(flags); ++ if (speakup_info.flushing) { ++ speakup_info.flushing = 0; ++ spk_unlock(flags); ++ synth->flush(synth); ++ continue; ++ } ++ if (synth_buffer_empty()) { ++ spk_unlock(flags); ++ break; ++ } ++ set_current_state(TASK_INTERRUPTIBLE); ++ full_time_val = full_time->u.n.value; ++ spk_unlock(flags); ++ if (synth_full()) { ++ schedule_timeout(msecs_to_jiffies(full_time_val)); ++ continue; ++ } ++ set_current_state(TASK_RUNNING); ++ timeout = SPK_XMITR_TIMEOUT; ++ while (synth_writable()) { ++ if (!--timeout) ++ break; ++ udelay(1); ++ } ++ spk_lock(flags); ++ ch = synth_buffer_getc(); ++ spk_unlock(flags); ++ if (ch == '\n') ++ ch = PROCSPEECH; ++ outb_p(ch, speakup_info.port_tts); ++ if (jiffies >= jiff_max && ch == SPACE) { ++ timeout = SPK_XMITR_TIMEOUT; ++ while (synth_writable()) { ++ if (!--timeout) ++ break; ++ udelay(1); ++ } ++ outb_p(PROCSPEECH, speakup_info.port_tts); ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ delay_time_val = delay_time->u.n.value; ++ spk_unlock(flags); ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ jiff_max = jiffies+jiffy_delta_val; ++ } ++ } ++ timeout = SPK_XMITR_TIMEOUT; ++ while (synth_writable()) { ++ if (!--timeout) ++ break; ++ udelay(1); ++ } ++ outb_p(PROCSPEECH, speakup_info.port_tts); ++} ++ ++static void synth_flush(struct spk_synth *synth) ++{ ++ outb_p(SYNTH_CLEAR, speakup_info.port_tts); ++} ++ ++static int synth_probe(struct spk_synth *synth) ++{ ++ unsigned int port_val = 0; ++ int i = 0; ++ pr_info("Probing for %s.\n", synth->long_name); ++ if (port_forced) { ++ speakup_info.port_tts = port_forced; ++ pr_info("probe forced to %x by kernel command line\n", ++ speakup_info.port_tts); ++ if (synth_request_region(speakup_info.port_tts-1, ++ SYNTH_IO_EXTENT)) { ++ pr_warn("sorry, port already reserved\n"); ++ return -EBUSY; ++ } ++ port_val = inw(speakup_info.port_tts-1); ++ synth_port_control = speakup_info.port_tts-1; ++ } else { ++ for (i = 0; synth_portlist[i]; i++) { ++ if (synth_request_region(synth_portlist[i], ++ SYNTH_IO_EXTENT)) { ++ pr_warn("request_region: failed with 0x%x, %d\n", ++ synth_portlist[i], SYNTH_IO_EXTENT); ++ continue; ++ } ++ port_val = inw(synth_portlist[i]) & 0xfffc; ++ if (port_val == 0x53fc) { ++ /* 'S' and out&input bits */ ++ synth_port_control = synth_portlist[i]; ++ speakup_info.port_tts = synth_port_control+1; ++ break; ++ } ++ } ++ } ++ port_val &= 0xfffc; ++ if (port_val != 0x53fc) { ++ /* 'S' and out&input bits */ ++ pr_info("%s: not found\n", synth->long_name); ++ synth_release_region(synth_portlist[i], SYNTH_IO_EXTENT); ++ synth_port_control = 0; ++ return -ENODEV; ++ } ++ pr_info("%s: %03x-%03x, driver version %s,\n", synth->long_name, ++ synth_port_control, synth_port_control+SYNTH_IO_EXTENT-1, ++ synth->version); ++ synth->alive = 1; ++ return 0; ++} ++ ++static void accent_release(void) ++{ ++ if (speakup_info.port_tts) ++ synth_release_region(speakup_info.port_tts-1, SYNTH_IO_EXTENT); ++ speakup_info.port_tts = 0; ++} ++ ++module_param_named(port, port_forced, int, S_IRUGO); ++module_param_named(start, synth_acntpc.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(port, "Set the port for the synthesizer (override probing)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init acntpc_init(void) ++{ ++ return synth_add(&synth_acntpc); ++} ++ ++static void __exit acntpc_exit(void) ++{ ++ synth_remove(&synth_acntpc); ++} ++ ++module_init(acntpc_init); ++module_exit(acntpc_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for Accent PC synthesizer"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_acntsa.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_acntsa.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,160 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++* this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * this code is specificly written as a driver for the speakup screenreview ++ * package and is not a general device driver. ++ */ ++ ++#include "spk_priv.h" ++#include "speakup.h" ++#include "speakup_acnt.h" /* local header file for Accent values */ ++ ++#define DRV_VERSION "2.10" ++#define synth_full() (inb_p(speakup_info.port_tts + UART_RX) == 'F') ++#define PROCSPEECH '\r' ++ ++static int synth_probe(struct spk_synth *synth); ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"\033P8" }}, ++ { CAPS_STOP, .u.s = {"\033P5" }}, ++ { RATE, .u.n = {"\033R%c", 9, 0, 17, 0, 0, "0123456789abcdefgh" }}, ++ { PITCH, .u.n = {"\033P%d", 5, 0, 9, 0, 0, NULL }}, ++ { VOL, .u.n = {"\033A%d", 9, 0, 9, 0, 0, NULL }}, ++ { TONE, .u.n = {"\033V%d", 5, 0, 9, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/acntsa. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_acntsa = { ++ .name = "acntsa", ++ .version = DRV_VERSION, ++ .long_name = "Accent-SA", ++ .init = "\033T2\033=M\033Oi\033N1\n", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 400, ++ .trigger = 50, ++ .jiffies = 30, ++ .full = 40000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = spk_do_catch_up, ++ .flush = spk_synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = NULL, ++ .indexing = { ++ .command = NULL, ++ .lowindex = 0, ++ .highindex = 0, ++ .currindex = 0, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "acntsa", ++ }, ++}; ++ ++static int synth_probe(struct spk_synth *synth) ++{ ++ int failed; ++ ++ failed = serial_synth_probe(synth); ++ if (failed == 0) { ++ spk_synth_immediate(synth, "\033=R\r"); ++ mdelay(100); ++ } ++ synth->alive = !failed; ++ return failed; ++} ++ ++module_param_named(ser, synth_acntsa.ser, int, S_IRUGO); ++module_param_named(start, synth_acntsa.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init acntsa_init(void) ++{ ++ return synth_add(&synth_acntsa); ++} ++ ++static void __exit acntsa_exit(void) ++{ ++ synth_remove(&synth_acntsa); ++} ++ ++module_init(acntsa_init); ++module_exit(acntsa_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for Accent SA synthesizer"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_apollo.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_apollo.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,221 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++* this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * this code is specificly written as a driver for the speakup screenreview ++ * package and is not a general device driver. ++ */ ++#include <linux/jiffies.h> ++#include <linux/sched.h> ++#include <linux/timer.h> ++#include <linux/kthread.h> ++ ++#include "spk_priv.h" ++#include "serialio.h" ++#include "speakup.h" ++ ++#define DRV_VERSION "2.20" ++#define SYNTH_CLEAR 0x18 ++#define PROCSPEECH '\r' ++ ++static void do_catch_up(struct spk_synth *synth); ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"cap, " }}, ++ { CAPS_STOP, .u.s = {"" }}, ++ { RATE, .u.n = {"@W%d", 6, 1, 9, 0, 0, NULL }}, ++ { PITCH, .u.n = {"@F%x", 10, 0, 15, 0, 0, NULL }}, ++ { VOL, .u.n = {"@A%x", 10, 0, 15, 0, 0, NULL }}, ++ { VOICE, .u.n = {"@V%d", 1, 1, 6, 0, 0, NULL }}, ++ { LANG, .u.n = {"@=%d,", 1, 1, 4, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/apollo. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute lang_attribute = ++ __ATTR(lang, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute voice_attribute = ++ __ATTR(voice, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &lang_attribute.attr, ++ &pitch_attribute.attr, ++ &rate_attribute.attr, ++ &voice_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_apollo = { ++ .name = "apollo", ++ .version = DRV_VERSION, ++ .long_name = "Apollo", ++ .init = "@R3@D0@K1\r", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 40000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = serial_synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = do_catch_up, ++ .flush = spk_synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = NULL, ++ .indexing = { ++ .command = NULL, ++ .lowindex = 0, ++ .highindex = 0, ++ .currindex = 0, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "apollo", ++ }, ++}; ++ ++static void do_catch_up(struct spk_synth *synth) ++{ ++ u_char ch; ++ unsigned long flags; ++ unsigned long jiff_max; ++ struct var_t *jiffy_delta; ++ struct var_t *delay_time; ++ struct var_t *full_time; ++ int full_time_val = 0; ++ int delay_time_val = 0; ++ int jiffy_delta_val = 0; ++ ++ jiffy_delta = get_var(JIFFY); ++ delay_time = get_var(DELAY); ++ full_time = get_var(FULL); ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ spk_unlock(flags); ++ jiff_max = jiffies + jiffy_delta_val; ++ ++ while (!kthread_should_stop()) { ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ full_time_val = full_time->u.n.value; ++ delay_time_val = delay_time->u.n.value; ++ if (speakup_info.flushing) { ++ speakup_info.flushing = 0; ++ spk_unlock(flags); ++ synth->flush(synth); ++ continue; ++ } ++ if (synth_buffer_empty()) { ++ spk_unlock(flags); ++ break; ++ } ++ ch = synth_buffer_peek(); ++ set_current_state(TASK_INTERRUPTIBLE); ++ full_time_val = full_time->u.n.value; ++ spk_unlock(flags); ++ if (!spk_serial_out(ch)) { ++ outb(UART_MCR_DTR, speakup_info.port_tts + UART_MCR); ++ outb(UART_MCR_DTR | UART_MCR_RTS, ++ speakup_info.port_tts + UART_MCR); ++ schedule_timeout(msecs_to_jiffies(full_time_val)); ++ continue; ++ } ++ if ((jiffies >= jiff_max) && (ch == SPACE)) { ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ full_time_val = full_time->u.n.value; ++ delay_time_val = delay_time->u.n.value; ++ spk_unlock(flags); ++ if (spk_serial_out(synth->procspeech)) ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ else ++ schedule_timeout(msecs_to_jiffies(full_time_val)); ++ jiff_max = jiffies + jiffy_delta_val; ++ } ++ set_current_state(TASK_RUNNING); ++ spk_lock(flags); ++ synth_buffer_getc(); ++ spk_unlock(flags); ++ } ++ spk_serial_out(PROCSPEECH); ++} ++ ++module_param_named(ser, synth_apollo.ser, int, S_IRUGO); ++module_param_named(start, synth_apollo.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init apollo_init(void) ++{ ++ return synth_add(&synth_apollo); ++} ++ ++static void __exit apollo_exit(void) ++{ ++ synth_remove(&synth_apollo); ++} ++ ++module_init(apollo_init); ++module_exit(apollo_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for Apollo II synthesizer"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_audptr.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_audptr.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,191 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++ * this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * specificly written as a driver for the speakup screenreview ++ * s not a general device driver. ++ */ ++#include "spk_priv.h" ++#include "speakup.h" ++#include "serialio.h" ++ ++#define DRV_VERSION "2.10" ++#define SYNTH_CLEAR 0x18 /* flush synth buffer */ ++#define PROCSPEECH '\r' /* start synth processing speech char */ ++ ++static int synth_probe(struct spk_synth *synth); ++static void synth_flush(struct spk_synth *synth); ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"\x05[f99]" }}, ++ { CAPS_STOP, .u.s = {"\x05[f80]" }}, ++ { RATE, .u.n = {"\x05[r%d]", 10, 0, 20, 100, -10, NULL }}, ++ { PITCH, .u.n = {"\x05[f%d]", 80, 39, 4500, 0, 0, NULL }}, ++ { VOL, .u.n = {"\x05[g%d]", 21, 0, 40, 0, 0, NULL }}, ++ { TONE, .u.n = {"\x05[s%d]", 9, 0, 63, 0, 0, 0 }}, ++ { PUNCT, .u.n = {"\x05[A%c]", 0, 0, 3, 0, 0, "nmsa" }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/audptr. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute punct_attribute = ++ __ATTR(punct, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &punct_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_audptr = { ++ .name = "audptr", ++ .version = DRV_VERSION, ++ .long_name = "Audapter", ++ .init = "\x05[D1]\x05[Ol]", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 400, ++ .trigger = 50, ++ .jiffies = 30, ++ .full = 18000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = spk_do_catch_up, ++ .flush = synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = NULL, ++ .indexing = { ++ .command = NULL, ++ .lowindex = 0, ++ .highindex = 0, ++ .currindex = 0, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "audptr", ++ }, ++}; ++ ++static void synth_flush(struct spk_synth *synth) ++{ ++ int timeout = SPK_XMITR_TIMEOUT; ++ while (spk_serial_tx_busy()) { ++ if (!--timeout) ++ break; ++ udelay(1); ++ } ++ outb(SYNTH_CLEAR, speakup_info.port_tts); ++ spk_serial_out(PROCSPEECH); ++} ++ ++static void synth_version(struct spk_synth *synth) ++{ ++ unsigned char test = 0; ++ char synth_id[40] = ""; ++ spk_synth_immediate(synth, "\x05[Q]"); ++ synth_id[test] = spk_serial_in(); ++ if (synth_id[test] == 'A') { ++ do { ++ /* read version string from synth */ ++ synth_id[++test] = spk_serial_in(); ++ } while (synth_id[test] != '\n' && test < 32); ++ synth_id[++test] = 0x00; ++ } ++ if (synth_id[0] == 'A') ++ pr_info("%s version: %s", synth->long_name, synth_id); ++} ++ ++static int synth_probe(struct spk_synth *synth) ++{ ++ int failed = 0; ++ ++ failed = serial_synth_probe(synth); ++ if (failed == 0) ++ synth_version(synth); ++ synth->alive = !failed; ++ return 0; ++} ++ ++module_param_named(ser, synth_audptr.ser, int, S_IRUGO); ++module_param_named(start, synth_audptr.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init audptr_init(void) ++{ ++ return synth_add(&synth_audptr); ++} ++ ++static void __exit audptr_exit(void) ++{ ++ synth_remove(&synth_audptr); ++} ++ ++module_init(audptr_init); ++module_exit(audptr_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for Audapter synthesizer"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_bns.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_bns.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,143 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++* this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * this code is specificly written as a driver for the speakup screenreview ++ * package and is not a general device driver. ++ */ ++#include "spk_priv.h" ++#include "speakup.h" ++ ++#define DRV_VERSION "2.10" ++#define SYNTH_CLEAR 0x18 ++#define PROCSPEECH '\r' ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"\x05\x31\x32P" }}, ++ { CAPS_STOP, .u.s = {"\x05\x38P" }}, ++ { RATE, .u.n = {"\x05%dE", 8, 1, 16, 0, 0, NULL }}, ++ { PITCH, .u.n = {"\x05%dP", 8, 0, 16, 0, 0, NULL }}, ++ { VOL, .u.n = {"\x05%dV", 8, 0, 16, 0, 0, NULL }}, ++ { TONE, .u.n = {"\x05%dT", 8, 0, 16, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/bns. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_bns = { ++ .name = "bns", ++ .version = DRV_VERSION, ++ .long_name = "Braille 'N Speak", ++ .init = "\x05Z\x05\x43", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 40000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = serial_synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = spk_do_catch_up, ++ .flush = spk_synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = NULL, ++ .indexing = { ++ .command = NULL, ++ .lowindex = 0, ++ .highindex = 0, ++ .currindex = 0, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "bns", ++ }, ++}; ++ ++module_param_named(ser, synth_bns.ser, int, S_IRUGO); ++module_param_named(start, synth_bns.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init bns_init(void) ++{ ++ return synth_add(&synth_bns); ++} ++ ++static void __exit bns_exit(void) ++{ ++ synth_remove(&synth_bns); ++} ++ ++module_init(bns_init); ++module_exit(bns_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for Braille 'n Speak synthesizers"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_decext.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_decext.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,238 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++* this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * specificly written as a driver for the speakup screenreview ++ * s not a general device driver. ++ */ ++#include <linux/jiffies.h> ++#include <linux/sched.h> ++#include <linux/timer.h> ++#include <linux/kthread.h> ++ ++#include "spk_priv.h" ++#include "serialio.h" ++#include "speakup.h" ++ ++#define DRV_VERSION "2.13" ++#define SYNTH_CLEAR 0x03 ++#define PROCSPEECH 0x0b ++static unsigned char last_char; ++#define get_last_char() ((inb_p(speakup_info.port_tts + UART_LSR) & UART_LSR_DR)? \ ++ (last_char = inb_p(speakup_info.port_tts + UART_RX)) : last_char) ++#define synth_full() (get_last_char() == 0x13) ++ ++static void do_catch_up(struct spk_synth *synth); ++static void synth_flush(struct spk_synth *synth); ++ ++static int in_escape; ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"[:dv ap 222]" }}, ++ { CAPS_STOP, .u.s = {"[:dv ap 100]" }}, ++ { RATE, .u.n = {"[:ra %d]", 7, 0, 9, 150, 25, NULL }}, ++ { PITCH, .u.n = {"[:dv ap %d]", 100, 0, 100, 0, 0, NULL }}, ++ { VOL, .u.n = {"[:dv gv %d]", 13, 0, 16, 0, 5, NULL }}, ++ { PUNCT, .u.n = {"[:pu %c]", 0, 0, 2, 0, 0, "nsa" }}, ++ { VOICE, .u.n = {"[:n%c]", 0, 0, 9, 0, 0, "phfdburwkv" }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/decext. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute punct_attribute = ++ __ATTR(punct, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute voice_attribute = ++ __ATTR(voice, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &punct_attribute.attr, ++ &rate_attribute.attr, ++ &voice_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_decext = { ++ .name = "decext", ++ .version = DRV_VERSION, ++ .long_name = "Dectalk External", ++ .init = "[:pe -380]", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 40000, ++ .flags = SF_DEC, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = serial_synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = do_catch_up, ++ .flush = synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = NULL, ++ .indexing = { ++ .command = NULL, ++ .lowindex = 0, ++ .highindex = 0, ++ .currindex = 0, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "decext", ++ }, ++}; ++ ++static void do_catch_up(struct spk_synth *synth) ++{ ++ u_char ch; ++ static u_char last = '\0'; ++ unsigned long flags; ++ unsigned long jiff_max; ++ struct var_t *jiffy_delta; ++ struct var_t *delay_time; ++ int jiffy_delta_val = 0; ++ int delay_time_val = 0; ++ ++ jiffy_delta = get_var(JIFFY); ++ delay_time = get_var(DELAY); ++ ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ spk_unlock(flags); ++ jiff_max = jiffies + jiffy_delta_val; ++ ++ while (!kthread_should_stop()) { ++ spk_lock(flags); ++ if (speakup_info.flushing) { ++ speakup_info.flushing = 0; ++ spk_unlock(flags); ++ synth->flush(synth); ++ continue; ++ } ++ if (synth_buffer_empty()) { ++ spk_unlock(flags); ++ break; ++ } ++ ch = synth_buffer_peek(); ++ set_current_state(TASK_INTERRUPTIBLE); ++ delay_time_val = delay_time->u.n.value; ++ spk_unlock(flags); ++ if (ch == '\n') ++ ch = 0x0D; ++ if (synth_full() || !spk_serial_out(ch)) { ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ continue; ++ } ++ set_current_state(TASK_RUNNING); ++ spk_lock(flags); ++ synth_buffer_getc(); ++ spk_unlock(flags); ++ if (ch == '[') ++ in_escape = 1; ++ else if (ch == ']') ++ in_escape = 0; ++ else if (ch <= SPACE) { ++ if (!in_escape && strchr(",.!?;:", last)) ++ spk_serial_out(PROCSPEECH); ++ if (jiffies >= jiff_max) { ++ if ( ! in_escape ) ++ spk_serial_out(PROCSPEECH); ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ delay_time_val = delay_time->u.n.value; ++ spk_unlock(flags); ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ jiff_max = jiffies + jiffy_delta_val; ++ } ++ } ++ last = ch; ++ } ++ if (!in_escape) ++ spk_serial_out(PROCSPEECH); ++} ++ ++static void synth_flush(struct spk_synth *synth) ++{ ++ in_escape = 0; ++ spk_synth_immediate(synth, "\033P;10z\033\\"); ++} ++ ++module_param_named(ser, synth_decext.ser, int, S_IRUGO); ++module_param_named(start, synth_decext.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init decext_init(void) ++{ ++ return synth_add(&synth_decext); ++} ++ ++static void __exit decext_exit(void) ++{ ++ synth_remove(&synth_decext); ++} ++ ++module_init(decext_init); ++module_exit(decext_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for DECtalk External synthesizers"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_dectlk.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_dectlk.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,306 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++ * this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * specificly written as a driver for the speakup screenreview ++ * s not a general device driver. ++ */ ++#include <linux/unistd.h> ++#include <linux/proc_fs.h> ++#include <linux/jiffies.h> ++#include <linux/spinlock.h> ++#include <linux/sched.h> ++#include <linux/timer.h> ++#include <linux/kthread.h> ++#include "speakup.h" ++#include "spk_priv.h" ++#include "serialio.h" ++ ++#define DRV_VERSION "2.15" ++#define SYNTH_CLEAR 0x03 ++#define PROCSPEECH 0x0b ++static volatile int xoff; ++#define synth_full() (xoff) ++ ++static void do_catch_up(struct spk_synth *synth); ++static void synth_flush(struct spk_synth *synth); ++static void read_buff_add(u_char c); ++static unsigned char get_index(void); ++ ++static int in_escape; ++static int is_flushing; ++ ++static spinlock_t flush_lock; ++static DECLARE_WAIT_QUEUE_HEAD(flush); ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"[:dv ap 200]" }}, ++ { CAPS_STOP, .u.s = {"[:dv ap 100]" }}, ++ { RATE, .u.n = {"[:ra %d]", 9, 0, 18, 150, 25, NULL }}, ++ { PITCH, .u.n = {"[:dv ap %d]", 80, 0, 200, 20, 0, NULL }}, ++ { VOL, .u.n = {"[:dv gv %d]", 13, 0, 14, 0, 5, NULL }}, ++ { PUNCT, .u.n = {"[:pu %c]", 0, 0, 2, 0, 0, "nsa" }}, ++ { VOICE, .u.n = {"[:n%c]", 0, 0, 9, 0, 0, "phfdburwkv" }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/dectlk. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute punct_attribute = ++ __ATTR(punct, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute voice_attribute = ++ __ATTR(voice, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &punct_attribute.attr, ++ &rate_attribute.attr, ++ &voice_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_dectlk = { ++ .name = "dectlk", ++ .version = DRV_VERSION, ++ .long_name = "Dectalk Express", ++ .init = "[:dv ap 100][:error sp]", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 40000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = serial_synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = do_catch_up, ++ .flush = synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = read_buff_add, ++ .get_index = get_index, ++ .indexing = { ++ .command = "[:in re %d] ", ++ .lowindex = 1, ++ .highindex = 8, ++ .currindex = 1, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "dectlk", ++ }, ++}; ++ ++static int is_indnum(u_char *ch) ++{ ++ if ((*ch >= '0') && (*ch <= '9')) { ++ *ch = *ch - '0'; ++ return 1; ++ } ++ return 0; ++} ++ ++static u_char lastind = 0; ++ ++static unsigned char get_index(void) ++{ ++ u_char rv; ++ rv = lastind; ++ lastind = 0; ++ return rv; ++} ++ ++static void read_buff_add(u_char c) ++{ ++ static int ind = -1; ++ ++ if (c == 0x01) { ++ unsigned long flags; ++ spin_lock_irqsave(&flush_lock, flags); ++ is_flushing = 0; ++ wake_up_interruptible(&flush); ++ spin_unlock_irqrestore(&flush_lock, flags); ++ } else if (c == 0x13) { ++ xoff = 1; ++ } else if (c == 0x11) { ++ xoff = 0; ++ } else if (is_indnum(&c)) { ++ if (ind == -1) ++ ind = c; ++ else ++ ind = ind * 10 + c; ++ } else if ((c > 31) && (c < 127)) { ++ if (ind != -1) ++ lastind = (u_char)ind; ++ ind = -1; ++ } ++} ++ ++static void do_catch_up(struct spk_synth *synth) ++{ ++ static u_char ch = 0; ++ static u_char last = '\0'; ++ unsigned long flags; ++ unsigned long jiff_max; ++ unsigned long timeout = msecs_to_jiffies(4000); ++ DEFINE_WAIT(wait); ++ struct var_t *jiffy_delta; ++ struct var_t *delay_time; ++ int jiffy_delta_val; ++ int delay_time_val; ++ ++ jiffy_delta = get_var(JIFFY); ++ delay_time = get_var(DELAY); ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ spk_unlock(flags); ++ jiff_max = jiffies + jiffy_delta_val; ++ ++ while (!kthread_should_stop()) { ++ /* if no ctl-a in 4, send data anyway */ ++ spin_lock_irqsave(&flush_lock, flags); ++ while (is_flushing && timeout) { ++ prepare_to_wait(&flush, &wait, TASK_INTERRUPTIBLE); ++ spin_unlock_irqrestore(&flush_lock, flags); ++ timeout = schedule_timeout(timeout); ++ spin_lock_irqsave(&flush_lock, flags); ++ } ++ finish_wait(&flush, &wait); ++ is_flushing = 0; ++ spin_unlock_irqrestore(&flush_lock, flags); ++ ++ spk_lock(flags); ++ if (speakup_info.flushing) { ++ speakup_info.flushing = 0; ++ spk_unlock(flags); ++ synth->flush(synth); ++ continue; ++ } ++ if (synth_buffer_empty()) { ++ spk_unlock(flags); ++ break; ++ } ++ ch = synth_buffer_peek(); ++ set_current_state(TASK_INTERRUPTIBLE); ++ delay_time_val = delay_time->u.n.value; ++ spk_unlock(flags); ++ if (ch == '\n') ++ ch = 0x0D; ++ if (synth_full() || !spk_serial_out(ch)) { ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ continue; ++ } ++ set_current_state(TASK_RUNNING); ++ spk_lock(flags); ++ synth_buffer_getc(); ++ spk_unlock(flags); ++ if (ch == '[') ++ in_escape = 1; ++ else if (ch == ']') ++ in_escape = 0; ++ else if (ch <= SPACE) { ++ if (!in_escape && strchr(",.!?;:", last)) ++ spk_serial_out(PROCSPEECH); ++ if (jiffies >= jiff_max) { ++ if ( ! in_escape ) ++ spk_serial_out(PROCSPEECH); ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ delay_time_val = delay_time->u.n.value; ++ spk_unlock(flags); ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ jiff_max = jiffies + jiffy_delta_val; ++ } ++ } ++ last = ch; ++ } ++ if (!in_escape) ++ spk_serial_out(PROCSPEECH); ++} ++ ++static void synth_flush(struct spk_synth *synth) ++{ ++ if (in_escape) { ++ /* if in command output ']' so we don't get an error */ ++ spk_serial_out(']'); ++ } ++ in_escape = 0; ++ is_flushing = 1; ++ spk_serial_out(SYNTH_CLEAR); ++} ++ ++module_param_named(ser, synth_dectlk.ser, int, S_IRUGO); ++module_param_named(start, synth_dectlk.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init dectlk_init(void) ++{ ++ return synth_add(&synth_dectlk); ++} ++ ++static void __exit dectlk_exit(void) ++{ ++ synth_remove(&synth_dectlk); ++} ++ ++module_init(dectlk_init); ++module_exit(dectlk_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for DECtalk Express synthesizers"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_dtlk.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_dtlk.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,379 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++* this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * specificly written as a driver for the speakup screenreview ++ * package it's not a general device driver. ++ * This driver is for the RC Systems DoubleTalk PC internal synthesizer. ++ */ ++#include <linux/jiffies.h> ++#include <linux/sched.h> ++#include <linux/timer.h> ++#include <linux/kthread.h> ++ ++#include "spk_priv.h" ++#include "serialio.h" ++#include "speakup_dtlk.h" /* local header file for DoubleTalk values */ ++#include "speakup.h" ++ ++#define DRV_VERSION "2.9" ++#define PROCSPEECH 0x00 ++#define synth_readable() ((synth_status = inb_p(speakup_info.port_tts + UART_RX)) & TTS_READABLE) ++#define synth_writable() ((synth_status = inb_p(speakup_info.port_tts + UART_RX)) & TTS_WRITABLE) ++#define synth_full() ((synth_status = inb_p(speakup_info.port_tts + UART_RX)) & TTS_ALMOST_FULL) ++ ++static int synth_probe(struct spk_synth *synth); ++static void dtlk_release(void); ++static const char *synth_immediate(struct spk_synth *synth, const char *buf); ++static void do_catch_up(struct spk_synth *synth); ++static void synth_flush(struct spk_synth *synth); ++ ++static int synth_lpc; ++static int port_forced; ++static unsigned int synth_portlist[] = ++ { 0x25e, 0x29e, 0x2de, 0x31e, 0x35e, 0x39e, 0 }; ++static u_char synth_status; ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"\x01+35p" }}, ++ { CAPS_STOP, .u.s = {"\x01-35p" }}, ++ { RATE, .u.n = {"\x01%ds", 8, 0, 9, 0, 0, NULL }}, ++ { PITCH, .u.n = {"\x01%dp", 50, 0, 99, 0, 0, NULL }}, ++ { VOL, .u.n = {"\x01%dv", 5, 0, 9, 0, 0, NULL }}, ++ { TONE, .u.n = {"\x01%dx", 1, 0, 2, 0, 0, NULL }}, ++ { PUNCT, .u.n = {"\x01%db", 7, 0, 15, 0, 0, NULL }}, ++ { VOICE, .u.n = {"\x01%do", 0, 0, 7, 0, 0, NULL }}, ++ { FREQUENCY, .u.n = {"\x01%df", 5, 0, 9, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/dtlk. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute freq_attribute = ++ __ATTR(freq, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute punct_attribute = ++ __ATTR(punct, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute voice_attribute = ++ __ATTR(voice, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &freq_attribute.attr, ++ &pitch_attribute.attr, ++ &punct_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &voice_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_dtlk = { ++ .name = "dtlk", ++ .version = DRV_VERSION, ++ .long_name = "DoubleTalk PC", ++ .init = "\x01@\x01\x31y", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 30, ++ .jiffies = 50, ++ .full = 1000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = synth_probe, ++ .release = dtlk_release, ++ .synth_immediate = synth_immediate, ++ .catch_up = do_catch_up, ++ .flush = synth_flush, ++ .is_alive = spk_synth_is_alive_nop, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = spk_serial_in_nowait, ++ .indexing = { ++ .command = "\x01%di", ++ .lowindex = 1, ++ .highindex = 5, ++ .currindex = 1, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "dtlk", ++ }, ++}; ++ ++static void spk_out(const char ch) ++{ ++ int timeout = SPK_XMITR_TIMEOUT; ++ while (synth_writable() == 0) { ++ if (!--timeout) ++ break; ++ udelay(1); ++ } ++ outb_p(ch, speakup_info.port_tts); ++ timeout = SPK_XMITR_TIMEOUT; ++ while (synth_writable() != 0) { ++ if (!--timeout) ++ break; ++ udelay(1); ++ } ++} ++ ++static void do_catch_up(struct spk_synth *synth) ++{ ++ u_char ch; ++ unsigned long flags; ++ unsigned long jiff_max; ++ struct var_t *jiffy_delta; ++ struct var_t *delay_time; ++ int jiffy_delta_val; ++ int delay_time_val; ++ ++ jiffy_delta = get_var(JIFFY); ++ delay_time = get_var(DELAY); ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ spk_unlock(flags); ++ jiff_max = jiffies + jiffy_delta_val; ++ while (!kthread_should_stop()) { ++ spk_lock(flags); ++ if (speakup_info.flushing) { ++ speakup_info.flushing = 0; ++ spk_unlock(flags); ++ synth->flush(synth); ++ continue; ++ } ++ if (synth_buffer_empty()) { ++ spk_unlock(flags); ++ break; ++ } ++ set_current_state(TASK_INTERRUPTIBLE); ++ delay_time_val = delay_time->u.n.value; ++ spk_unlock(flags); ++ if (synth_full()) { ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ continue; ++ } ++ set_current_state(TASK_RUNNING); ++ spk_lock(flags); ++ ch = synth_buffer_getc(); ++ spk_unlock(flags); ++ if (ch == '\n') ++ ch = PROCSPEECH; ++ spk_out(ch); ++ if ((jiffies >= jiff_max) && (ch == SPACE)) { ++ spk_out(PROCSPEECH); ++ spk_lock(flags); ++ delay_time_val = delay_time->u.n.value; ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ spk_unlock(flags); ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ jiff_max = jiffies + jiffy_delta_val; ++ } ++ } ++ spk_out(PROCSPEECH); ++} ++ ++static const char *synth_immediate(struct spk_synth *synth, const char *buf) ++{ ++ u_char ch; ++ while ((ch = (u_char)*buf)) { ++ if (synth_full()) ++ return buf; ++ if (ch == '\n') ++ ch = PROCSPEECH; ++ spk_out(ch); ++ buf++; ++ } ++ return 0; ++} ++ ++static void synth_flush(struct spk_synth *synth) ++{ ++ outb_p(SYNTH_CLEAR, speakup_info.port_tts); ++ while (synth_writable() != 0) ++ cpu_relax(); ++} ++ ++static char synth_read_tts(void) ++{ ++ u_char ch; ++ while (synth_readable() == 0) ++ cpu_relax(); ++ ch = synth_status & 0x7f; ++ outb_p(ch, speakup_info.port_tts); ++ while (synth_readable() != 0) ++ cpu_relax(); ++ return (char) ch; ++} ++ ++/* interrogate the DoubleTalk PC and return its settings */ ++static struct synth_settings *synth_interrogate(struct spk_synth *synth) ++{ ++ u_char *t; ++ static char buf[sizeof(struct synth_settings) + 1]; ++ int total, i; ++ static struct synth_settings status; ++ synth_immediate(synth, "\x18\x01?"); ++ for (total = 0, i = 0; i < 50; i++) { ++ buf[total] = synth_read_tts(); ++ if (total > 2 && buf[total] == 0x7f) ++ break; ++ if (total < sizeof(struct synth_settings)) ++ total++; ++ } ++ t = buf; ++ /* serial number is little endian */ ++ status.serial_number = t[0] + t[1]*256; ++ t += 2; ++ for (i = 0; *t != '\r'; t++) { ++ status.rom_version[i] = *t; ++ if (i < sizeof(status.rom_version)-1) ++ i++; ++ } ++ status.rom_version[i] = 0; ++ t++; ++ status.mode = *t++; ++ status.punc_level = *t++; ++ status.formant_freq = *t++; ++ status.pitch = *t++; ++ status.speed = *t++; ++ status.volume = *t++; ++ status.tone = *t++; ++ status.expression = *t++; ++ status.ext_dict_loaded = *t++; ++ status.ext_dict_status = *t++; ++ status.free_ram = *t++; ++ status.articulation = *t++; ++ status.reverb = *t++; ++ status.eob = *t++; ++ return &status; ++} ++ ++static int synth_probe(struct spk_synth *synth) ++{ ++ unsigned int port_val = 0; ++ int i = 0; ++ struct synth_settings *sp; ++ pr_info("Probing for DoubleTalk.\n"); ++ if (port_forced) { ++ speakup_info.port_tts = port_forced; ++ pr_info("probe forced to %x by kernel command line\n", ++ speakup_info.port_tts); ++ if (synth_request_region(speakup_info.port_tts-1, ++ SYNTH_IO_EXTENT)) { ++ pr_warn("sorry, port already reserved\n"); ++ return -EBUSY; ++ } ++ port_val = inw(speakup_info.port_tts-1); ++ synth_lpc = speakup_info.port_tts-1; ++ } else { ++ for (i = 0; synth_portlist[i]; i++) { ++ if (synth_request_region(synth_portlist[i], ++ SYNTH_IO_EXTENT)) ++ continue; ++ port_val = inw(synth_portlist[i]) & 0xfbff; ++ if (port_val == 0x107f) { ++ synth_lpc = synth_portlist[i]; ++ speakup_info.port_tts = synth_lpc+1; ++ break; ++ } ++ synth_release_region(synth_portlist[i], ++ SYNTH_IO_EXTENT); ++ } ++ } ++ port_val &= 0xfbff; ++ if (port_val != 0x107f) { ++ pr_info("DoubleTalk PC: not found\n"); ++ return -ENODEV; ++ } ++ while (inw_p(synth_lpc) != 0x147f) ++ cpu_relax(); /* wait until it's ready */ ++ sp = synth_interrogate(synth); ++ pr_info("%s: %03x-%03x, ROM ver %s, s/n %u, driver: %s\n", ++ synth->long_name, synth_lpc, synth_lpc+SYNTH_IO_EXTENT - 1, ++ sp->rom_version, sp->serial_number, synth->version); ++ synth->alive = 1; ++ return 0; ++} ++ ++static void dtlk_release(void) ++{ ++ if (speakup_info.port_tts) ++ synth_release_region(speakup_info.port_tts-1, SYNTH_IO_EXTENT); ++ speakup_info.port_tts = 0; ++} ++ ++module_param_named(port, port_forced, int, S_IRUGO); ++module_param_named(start, synth_dtlk.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(port, "Set the port for the synthesizer (override probing)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init dtlk_init(void) ++{ ++ return synth_add(&synth_dtlk); ++} ++ ++static void __exit dtlk_exit(void) ++{ ++ synth_remove(&synth_dtlk); ++} ++ ++module_init(dtlk_init); ++module_exit(dtlk_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for DoubleTalk PC synthesizers"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_dtlk.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_dtlk.h 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,54 @@ ++/* speakup_dtlk.h - header file for speakups DoubleTalk driver. */ ++ ++#define SYNTH_IO_EXTENT 0x02 ++#define SYNTH_CLEAR 0x18 /* stops speech */ ++ /* TTS Port Status Flags */ ++#define TTS_READABLE 0x80 /* mask for bit which is nonzero if a ++ byte can be read from the TTS port */ ++#define TTS_SPEAKING 0x40 /* mask for SYNC bit, which is nonzero ++ while DoubleTalk is producing ++ output with TTS, PCM or CVSD ++ synthesizers or tone generators ++ (that is, all but LPC) */ ++#define TTS_SPEAKING2 0x20 /* mask for SYNC2 bit, ++ which falls to zero up to 0.4 sec ++ before speech stops */ ++#define TTS_WRITABLE 0x10 /* mask for RDY bit, which when set to ++ 1, indicates the TTS port is ready ++ to accept a byte of data. The RDY ++ bit goes zero 2-3 usec after ++ writing, and goes 1 again 180-190 ++ usec later. */ ++#define TTS_ALMOST_FULL 0x08 /* mask for AF bit: When set to 1, ++ indicates that less than 300 bytes ++ are available in the TTS input ++ buffer. AF is always 0 in the PCM, ++ TGN and CVSD modes. */ ++#define TTS_ALMOST_EMPTY 0x04 /* mask for AE bit: When set to 1, ++ indicates that less than 300 bytes ++ are remaining in DoubleTalk's input ++ (TTS or PCM) buffer. AE is always 1 ++ in the TGN and CVSD modes. */ ++ ++ /* data returned by Interrogate command */ ++struct synth_settings { ++ u_short serial_number; /* 0-7Fh:0-7Fh */ ++ u_char rom_version[24]; /* null terminated string */ ++ u_char mode; /* 0=Character; 1=Phoneme; 2=Text */ ++ u_char punc_level; /* nB; 0-7 */ ++ u_char formant_freq; /* nF; 0-9 */ ++ u_char pitch; /* nP; 0-99 */ ++ u_char speed; /* nS; 0-9 */ ++ u_char volume; /* nV; 0-9 */ ++ u_char tone; /* nX; 0-2 */ ++ u_char expression; /* nE; 0-9 */ ++ u_char ext_dict_loaded; /* 1=exception dictionary loaded */ ++ u_char ext_dict_status; /* 1=exception dictionary enabled */ ++ u_char free_ram; /* # pages (truncated) remaining for ++ * text buffer */ ++ u_char articulation; /* nA; 0-9 */ ++ u_char reverb; /* nR; 0-9 */ ++ u_char eob; /* 7Fh value indicating end of ++ * parameter block */ ++ u_char has_indexing; /* nonzero if indexing is implemented */ ++}; +--- a/drivers/staging/speakup/speakup_dummy.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_dummy.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,144 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++ * this version considerably modified by David Borowski, david575@rogers.com ++ * eventually modified by Samuel Thibault <samuel.thibault@ens-lyon.org> ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * Copyright (C) 2007 Samuel Thibault. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * specificly written as a driver for the speakup screenreview ++ * s not a general device driver. ++ */ ++#include "spk_priv.h" ++#include "speakup.h" ++ ++#define PROCSPEECH '\n' ++#define DRV_VERSION "2.10" ++#define SYNTH_CLEAR '!' ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"CAPS_START\n" }}, ++ { CAPS_STOP, .u.s = {"CAPS_STOP\n" }}, ++ { RATE, .u.n = {"RATE %d\n", 8, 1, 16, 0, 0, NULL }}, ++ { PITCH, .u.n = {"PITCH %d\n", 8, 0, 16, 0, 0, NULL }}, ++ { VOL, .u.n = {"VOL %d\n", 8, 0, 16, 0, 0, NULL }}, ++ { TONE, .u.n = {"TONE %d\n", 8, 0, 16, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/dummy. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_dummy = { ++ .name = "dummy", ++ .version = DRV_VERSION, ++ .long_name = "Dummy", ++ .init = "Speakup\n", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 40000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = serial_synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = spk_do_catch_up, ++ .flush = spk_synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = NULL, ++ .indexing = { ++ .command = NULL, ++ .lowindex = 0, ++ .highindex = 0, ++ .currindex = 0, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "dummy", ++ }, ++}; ++ ++module_param_named(ser, synth_dummy.ser, int, S_IRUGO); ++module_param_named(start, synth_dummy.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init dummy_init(void) ++{ ++ return synth_add(&synth_dummy); ++} ++ ++static void __exit dummy_exit(void) ++{ ++ synth_remove(&synth_dummy); ++} ++ ++module_init(dummy_init); ++module_exit(dummy_exit); ++MODULE_AUTHOR("Samuel Thibault <samuel.thibault@ens-lyon.org>"); ++MODULE_DESCRIPTION("Speakup support for text console"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup.h 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,124 @@ ++#ifndef _SPEAKUP_H ++#define _SPEAKUP_H ++#include <linux/version.h> ++ ++#include "spk_types.h" ++#include "i18n.h" ++ ++#define SPEAKUP_VERSION "3.1.3" ++#define KEY_MAP_VER 119 ++#define SHIFT_TBL_SIZE 64 ++#define MAX_DESC_LEN 72 ++ ++/* proc permissions */ ++#define USER_R (S_IFREG|S_IRUGO) ++#define USER_W (S_IFREG|S_IWUGO) ++#define USER_RW (S_IFREG|S_IRUGO|S_IWUGO) ++#define ROOT_W (S_IFREG|S_IRUGO|S_IWUSR) ++ ++#define TOGGLE_0 .u.n = {NULL, 0, 0, 1, 0, 0, NULL } ++#define TOGGLE_1 .u.n = {NULL, 1, 0, 1, 0, 0, NULL } ++#define MAXVARLEN 15 ++ ++#define SYNTH_OK 0x0001 ++#define B_ALPHA 0x0002 ++#define ALPHA 0x0003 ++#define B_CAP 0x0004 ++#define A_CAP 0x0007 ++#define B_NUM 0x0008 ++#define NUM 0x0009 ++#define ALPHANUM (B_ALPHA|B_NUM) ++#define SOME 0x0010 ++#define MOST 0x0020 ++#define PUNC 0x0040 ++#define A_PUNC 0x0041 ++#define B_WDLM 0x0080 ++#define WDLM 0x0081 ++#define B_EXNUM 0x0100 ++#define CH_RPT 0x0200 ++#define B_CTL 0x0400 ++#define A_CTL (B_CTL+SYNTH_OK) ++#define B_SYM 0x0800 ++#define B_CAPSYM (B_CAP|B_SYM) ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) ++#define inverse_translate(vc, c) inverse_translate(vc, c, 0) ++#endif ++ ++#define IS_WDLM(x) (spk_chartab[((u_char)x)]&B_WDLM) ++#define IS_CHAR(x, type) (spk_chartab[((u_char)x)]&type) ++#define IS_TYPE(x, type) ((spk_chartab[((u_char)x)]&type) == type) ++ ++#define SET_DEFAULT -4 ++#define E_RANGE -3 ++#define E_TOOLONG -2 ++#define E_UNDEF -1 ++ ++extern int speakup_thread(void *data); ++extern void reset_default_chars(void); ++extern void reset_default_chartab(void); ++extern void synth_start(void); ++extern int set_key_info(const u_char *key_info, u_char *k_buffer); ++extern char *strlwr(char *s); ++extern char *speakup_s2i(char *start, int *dest); ++extern char *s2uchar(char *start, char *dest); ++extern char *xlate(char *s); ++extern int speakup_kobj_init(void); ++extern void speakup_kobj_exit(void); ++extern int chartab_get_value(char *keyword); ++extern void speakup_register_var(struct var_t *var); ++extern void speakup_unregister_var(enum var_id_t var_id); ++extern struct st_var_header *get_var_header(enum var_id_t var_id); ++extern struct st_var_header *var_header_by_name(const char *name); ++extern struct punc_var_t *get_punc_var(enum var_id_t var_id); ++extern int set_num_var(int val, struct st_var_header *var, int how); ++extern int set_string_var(const char *page, struct st_var_header *var, int len); ++extern int set_mask_bits(const char *input, const int which, const int how); ++extern special_func special_handler; ++extern int handle_help(struct vc_data *vc, u_char type, u_char ch, u_short key); ++extern int synth_init(char *name); ++extern void synth_release(void); ++ ++extern void do_flush(void); ++extern void speakup_start_ttys(void); ++extern void synth_buffer_add(char ch); ++extern void synth_buffer_clear(void); ++extern void speakup_clear_selection(void); ++extern int speakup_set_selection(struct tty_struct *tty); ++extern int speakup_paste_selection(struct tty_struct *tty); ++extern void speakup_register_devsynth(void); ++extern void speakup_unregister_devsynth(void); ++extern void synth_write(const char *buf, size_t count); ++extern int synth_supports_indexing(void); ++ ++extern struct vc_data *spk_sel_cons; ++extern unsigned short xs, ys, xe, ye; /* our region points */ ++ ++extern wait_queue_head_t speakup_event; ++extern struct kobject *speakup_kobj; ++extern struct task_struct *speakup_task; ++extern const u_char key_defaults[]; ++ ++/* Protect speakup synthesizer list */ ++extern struct mutex spk_mutex; ++extern struct st_spk_t *speakup_console[]; ++extern struct spk_synth *synth; ++extern char pitch_buff[]; ++extern u_char *our_keys[]; ++extern short punc_masks[]; ++extern char str_caps_start[], str_caps_stop[]; ++extern const struct st_bits_data punc_info[]; ++extern u_char key_buf[600]; ++extern char *characters[]; ++extern char *default_chars[]; ++extern u_short spk_chartab[]; ++extern int no_intr, say_ctrl, say_word_ctl, punc_level; ++extern int reading_punc, attrib_bleep, bleeps; ++extern int bleep_time, bell_pos; ++extern int spell_delay, key_echo; ++extern short punc_mask; ++extern short pitch_shift, synth_flags; ++extern int quiet_boot; ++extern char *synth_name; ++ ++#endif +--- a/drivers/staging/speakup/speakup_keypc.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_keypc.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,323 @@ ++/* ++ * written by David Borowski ++ * ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * specificly written as a driver for the speakup screenreview ++ * package it's not a general device driver. ++ * This driver is for the Keynote Gold internal synthesizer. ++ */ ++#include <linux/jiffies.h> ++#include <linux/sched.h> ++#include <linux/timer.h> ++#include <linux/kthread.h> ++#include <linux/serial_reg.h> ++ ++#include "spk_priv.h" ++#include "speakup.h" ++ ++#define DRV_VERSION "2.9" ++#define SYNTH_IO_EXTENT 0x04 ++#define SWAIT udelay(70) ++#define synth_writable() (inb_p(synth_port + UART_RX) & 0x10) ++#define synth_readable() (inb_p(synth_port + UART_RX) & 0x10) ++#define synth_full() ((inb_p(synth_port + UART_RX) & 0x80) == 0) ++#define PROCSPEECH 0x1f ++#define SYNTH_CLEAR 0x03 ++ ++static int synth_probe(struct spk_synth *synth); ++static void keynote_release(void); ++static const char *synth_immediate(struct spk_synth *synth, const char *buf); ++static void do_catch_up(struct spk_synth *synth); ++static void synth_flush(struct spk_synth *synth); ++ ++static int synth_port; ++static int port_forced; ++static unsigned int synth_portlist[] = { 0x2a8, 0 }; ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"[f130]" }}, ++ { CAPS_STOP, .u.s = {"[f90]" }}, ++ { RATE, .u.n = {"\04%c ", 8, 0, 10, 81, -8, NULL }}, ++ { PITCH, .u.n = {"[f%d]", 5, 0, 9, 40, 10, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/keypc. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &rate_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_keypc = { ++ .name = "keypc", ++ .version = DRV_VERSION, ++ .long_name = "Keynote PC", ++ .init = "[t][n7,1][n8,0]", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 1000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = synth_probe, ++ .release = keynote_release, ++ .synth_immediate = synth_immediate, ++ .catch_up = do_catch_up, ++ .flush = synth_flush, ++ .is_alive = spk_synth_is_alive_nop, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = NULL, ++ .indexing = { ++ .command = NULL, ++ .lowindex = 0, ++ .highindex = 0, ++ .currindex = 0, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "keypc", ++ }, ++}; ++ ++static char *oops(void) ++{ ++ int s1, s2, s3, s4; ++ s1 = inb_p(synth_port); ++ s2 = inb_p(synth_port+1); ++ s3 = inb_p(synth_port+2); ++ s4 = inb_p(synth_port+3); ++ pr_warn("synth timeout %d %d %d %d\n", s1, s2, s3, s4); ++ return NULL; ++} ++ ++static const char *synth_immediate(struct spk_synth *synth, const char *buf) ++{ ++ u_char ch; ++ int timeout; ++ while ((ch = *buf)) { ++ if (ch == '\n') ++ ch = PROCSPEECH; ++ if (synth_full()) ++ return buf; ++ timeout = 1000; ++ while (synth_writable()) ++ if (--timeout <= 0) ++ return oops(); ++ outb_p(ch, synth_port); ++ udelay(70); ++ buf++; ++ } ++ return 0; ++} ++ ++static void do_catch_up(struct spk_synth *synth) ++{ ++ u_char ch; ++ int timeout; ++ unsigned long flags; ++ unsigned long jiff_max; ++ struct var_t *jiffy_delta; ++ struct var_t *delay_time; ++ struct var_t *full_time; ++ int delay_time_val; ++ int full_time_val; ++ int jiffy_delta_val; ++ ++ jiffy_delta = get_var(JIFFY); ++ delay_time = get_var(DELAY); ++ full_time = get_var(FULL); ++spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ spk_unlock(flags); ++ ++ jiff_max = jiffies + jiffy_delta_val; ++ while (!kthread_should_stop()) { ++ spk_lock(flags); ++ if (speakup_info.flushing) { ++ speakup_info.flushing = 0; ++ spk_unlock(flags); ++ synth->flush(synth); ++ continue; ++ } ++ if (synth_buffer_empty()) { ++ spk_unlock(flags); ++ break; ++ } ++ set_current_state(TASK_INTERRUPTIBLE); ++ full_time_val = full_time->u.n.value; ++ spk_unlock(flags); ++ if (synth_full()) { ++ schedule_timeout(msecs_to_jiffies(full_time_val)); ++ continue; ++ } ++ set_current_state(TASK_RUNNING); ++ timeout = 1000; ++ while (synth_writable()) ++ if (--timeout <= 0) ++ break; ++ if (timeout <= 0) { ++ oops(); ++ break; ++ } ++ spk_lock(flags); ++ ch = synth_buffer_getc(); ++ spk_unlock(flags); ++ if (ch == '\n') ++ ch = PROCSPEECH; ++ outb_p(ch, synth_port); ++ SWAIT; ++ if ((jiffies >= jiff_max) && (ch == SPACE)) { ++ timeout = 1000; ++ while (synth_writable()) ++ if (--timeout <= 0) ++ break; ++ if (timeout <= 0) { ++ oops(); ++ break; ++ } ++ outb_p(PROCSPEECH, synth_port); ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ delay_time_val = delay_time->u.n.value; ++ spk_unlock(flags); ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ jiff_max = jiffies+jiffy_delta_val; ++ } ++ } ++ timeout = 1000; ++ while (synth_writable()) ++ if (--timeout <= 0) ++ break; ++ if (timeout <= 0) ++ oops(); ++ else ++ outb_p(PROCSPEECH, synth_port); ++} ++ ++static void synth_flush(struct spk_synth *synth) ++{ ++ outb_p(SYNTH_CLEAR, synth_port); ++} ++ ++static int synth_probe(struct spk_synth *synth) ++{ ++ unsigned int port_val = 0; ++ int i = 0; ++ pr_info("Probing for %s.\n", synth->long_name); ++ if (port_forced) { ++ synth_port = port_forced; ++ pr_info("probe forced to %x by kernel command line\n", ++ synth_port); ++ if (synth_request_region(synth_port-1, SYNTH_IO_EXTENT)) { ++ pr_warn("sorry, port already reserved\n"); ++ return -EBUSY; ++ } ++ port_val = inb(synth_port); ++ } else { ++ for (i = 0; synth_portlist[i]; i++) { ++ if (synth_request_region(synth_portlist[i], ++ SYNTH_IO_EXTENT)) { ++ pr_warn("request_region: failed with 0x%x, %d\n", ++ synth_portlist[i], SYNTH_IO_EXTENT); ++ continue; ++ } ++ port_val = inb(synth_portlist[i]); ++ if (port_val == 0x80) { ++ synth_port = synth_portlist[i]; ++ break; ++ } ++ } ++ } ++ if (port_val != 0x80) { ++ pr_info("%s: not found\n", synth->long_name); ++ synth_release_region(synth_portlist[i], SYNTH_IO_EXTENT); ++ synth_port = 0; ++ return -ENODEV; ++ } ++ pr_info("%s: %03x-%03x, driver version %s,\n", synth->long_name, ++ synth_port, synth_port+SYNTH_IO_EXTENT-1, ++ synth->version); ++ synth->alive = 1; ++ return 0; ++} ++ ++static void keynote_release(void) ++{ ++ if (synth_port) ++ synth_release_region(synth_port, SYNTH_IO_EXTENT); ++ synth_port = 0; ++} ++ ++module_param_named(port, port_forced, int, S_IRUGO); ++module_param_named(start, synth_keypc.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(port, "Set the port for the synthesizer (override probing)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init keypc_init(void) ++{ ++ return synth_add(&synth_keypc); ++} ++ ++static void __exit keypc_exit(void) ++{ ++ synth_remove(&synth_keypc); ++} ++ ++module_init(keypc_init); ++module_exit(keypc_exit); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for Keynote Gold PC synthesizers"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_ltlk.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_ltlk.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,191 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++* this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * specificly written as a driver for the speakup screenreview ++ * s not a general device driver. ++ */ ++#include "speakup.h" ++#include "spk_priv.h" ++#include "serialio.h" ++#include "speakup_dtlk.h" /* local header file for LiteTalk values */ ++ ++#define DRV_VERSION "2.10" ++#define synth_full( ) ( !( inb( synth_port_tts + UART_MSR ) & UART_MSR_CTS ) ) ++#define PROCSPEECH 0x0d ++ ++static int synth_probe(struct spk_synth *synth); ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"\x01+35p" }}, ++ { CAPS_STOP, .u.s = {"\x01-35p" }}, ++ { RATE, .u.n = {"\x01%ds", 8, 0, 9, 0, 0, NULL }}, ++ { PITCH, .u.n = {"\x01%dp", 50, 0, 99, 0, 0, NULL }}, ++ { VOL, .u.n = {"\x01%dv", 5, 0, 9, 0, 0, NULL }}, ++ { TONE, .u.n = {"\x01%dx", 1, 0, 2, 0, 0, NULL }}, ++ { PUNCT, .u.n = {"\x01%db", 7, 0, 15, 0, 0, NULL }}, ++ { VOICE, .u.n = {"\x01%do", 0, 0, 7, 0, 0, NULL }}, ++ { FREQUENCY, .u.n = {"\x01%df", 5, 0, 9, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/ltlk. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute freq_attribute = ++ __ATTR(freq, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute punct_attribute = ++ __ATTR(punct, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute voice_attribute = ++ __ATTR(voice, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &freq_attribute.attr, ++ &pitch_attribute.attr, ++ &punct_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &voice_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_ltlk = { ++ .name = "ltlk", ++ .version = DRV_VERSION, ++ .long_name = "LiteTalk", ++ .init = "\01@\x01\x31y\n\0", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 40000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = spk_do_catch_up, ++ .flush = spk_synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = spk_serial_in_nowait, ++ .indexing = { ++ .command = "\x01%di", ++ .lowindex = 1, ++ .highindex = 5, ++ .currindex = 1, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "ltlk", ++ }, ++}; ++ ++/* interrogate the LiteTalk and print its settings */ ++static void synth_interrogate(struct spk_synth *synth) ++{ ++ unsigned char *t, i; ++ unsigned char buf[50], rom_v[20]; ++ spk_synth_immediate(synth, "\x18\x01?"); ++ for (i = 0; i < 50; i++) { ++ buf[i] = spk_serial_in(); ++ if (i > 2 && buf[i] == 0x7f) ++ break; ++ } ++ t = buf+2; ++ for (i = 0; *t != '\r'; t++) { ++ rom_v[i] = *t; ++ if (++i >= 19) ++ break; ++ } ++ rom_v[i] = 0; ++ pr_info("%s: ROM version: %s\n", synth->long_name, rom_v); ++} ++ ++static int synth_probe(struct spk_synth *synth) ++{ ++ int failed = 0; ++ ++ failed = serial_synth_probe(synth); ++ if (failed == 0) ++ synth_interrogate(synth); ++ synth->alive = !failed; ++ return failed; ++} ++ ++module_param_named(ser, synth_ltlk.ser, int, S_IRUGO); ++module_param_named(start, synth_ltlk.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init ltlk_init(void) ++{ ++ return synth_add(&synth_ltlk); ++} ++ ++static void __exit ltlk_exit(void) ++{ ++ synth_remove(&synth_ltlk); ++} ++ ++module_init(ltlk_init); ++module_exit(ltlk_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for DoubleTalk LT/LiteTalk synthesizers"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakupmap.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakupmap.h 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,65 @@ ++ 119, 62, 6, ++ 0, 16, 20, 17, 32, 48, 0, ++ 2, 0, 78, 0, 0, 0, 0, ++ 3, 0, 79, 0, 0, 0, 0, ++ 4, 0, 76, 0, 0, 0, 0, ++ 5, 0, 77, 0, 0, 0, 0, ++ 6, 0, 74, 0, 0, 0, 0, ++ 7, 0, 75, 0, 0, 0, 0, ++ 9, 0, 5, 46, 0, 0, 0, ++ 10, 0, 4, 0, 0, 0, 0, ++ 11, 0, 0, 1, 0, 0, 0, ++ 12, 0, 27, 0, 33, 0, 0, ++ 19, 0, 47, 0, 0, 0, 0, ++ 21, 0, 29, 17, 0, 0, 0, ++ 22, 0, 15, 0, 0, 0, 0, ++ 23, 0, 14, 0, 0, 0, 28, ++ 24, 0, 16, 0, 0, 0, 0, ++ 25, 0, 30, 18, 0, 0, 0, ++ 28, 0, 3, 26, 0, 0, 0, ++ 35, 0, 31, 0, 0, 0, 0, ++ 36, 0, 12, 0, 0, 0, 0, ++ 37, 0, 11, 0, 0, 0, 22, ++ 38, 0, 13, 0, 0, 0, 0, ++ 39, 0, 32, 7, 0, 0, 0, ++ 40, 0, 23, 0, 0, 0, 0, ++ 44, 0, 44, 0, 0, 0, 0, ++ 49, 0, 24, 0, 0, 0, 0, ++ 50, 0, 9, 19, 6, 0, 0, ++ 51, 0, 8, 0, 0, 0, 36, ++ 52, 0, 10, 20, 0, 0, 0, ++ 53, 0, 25, 0, 0, 0, 0, ++ 55, 46, 1, 0, 0, 0, 0, ++ 58, 128, 128, 0, 0, 0, 0, ++ 59, 0, 45, 0, 0, 0, 0, ++ 60, 0, 40, 0, 0, 0, 0, ++ 61, 0, 41, 0, 0, 0, 0, ++ 62, 0, 42, 0, 0, 0, 0, ++ 63, 0, 34, 0, 0, 0, 0, ++ 64, 0, 35, 0, 0, 0, 0, ++ 65, 0, 37, 0, 0, 0, 0, ++ 66, 0, 38, 0, 0, 0, 0, ++ 67, 0, 66, 0, 39, 0, 0, ++ 68, 0, 67, 0, 0, 0, 0, ++ 71, 15, 19, 0, 0, 0, 0, ++ 72, 14, 29, 0, 0, 28, 0, ++ 73, 16, 17, 0, 0, 0, 0, ++ 74, 27, 33, 0, 0, 0, 0, ++ 75, 12, 31, 0, 0, 0, 0, ++ 76, 11, 21, 0, 0, 22, 0, ++ 77, 13, 32, 0, 0, 0, 0, ++ 78, 23, 43, 0, 0, 0, 0, ++ 79, 9, 20, 0, 0, 0, 0, ++ 80, 8, 30, 0, 0, 36, 0, ++ 81, 10, 18, 0, 0, 0, 0, ++ 82, 128, 128, 0, 0, 0, 0, ++ 83, 24, 25, 0, 0, 0, 0, ++ 87, 0, 68, 0, 0, 0, 0, ++ 88, 0, 69, 0, 0, 0, 0, ++ 96, 3, 26, 0, 0, 0, 0, ++ 98, 4, 5, 0, 0, 0, 0, ++ 99, 2, 0, 0, 0, 0, 0, ++ 104, 0, 6, 0, 0, 0, 0, ++ 109, 0, 7, 0, 0, 0, 0, ++ 125, 128, 128, 0, 0, 0, 0, ++ 0, 119 +--- a/drivers/staging/speakup/speakupmap.map 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakupmap.map 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,93 @@ ++spk key_f9 = punc_level_dec ++spk key_f10 = punc_level_inc ++spk key_f11 = reading_punc_dec ++spk key_f12 = reading_punc_inc ++spk key_1 = vol_dec ++spk key_2 = vol_inc ++spk key_3 = pitch_dec ++spk key_4 = pitch_inc ++spk key_5 = rate_dec ++spk key_6 = rate_inc ++key_kpasterisk = toggle_cursoring ++ctrl spk key_8 = toggle_cursoring ++spk key_kpasterisk = speakup_goto ++spk key_f1 = speakup_help ++spk key_f2 = set_win ++spk key_f3 = clear_win ++spk key_f4 = enable_win ++spk key_f5 = edit_some ++spk key_f6 = edit_most ++spk key_f7 = edit_delim ++spk key_f8 = edit_repeat ++shift spk key_f9 = edit_exnum ++ key_kp7 = say_prev_line ++spk key_kp7 = left_edge ++ key_kp8 = say_line ++double key_kp8 = say_line_indent ++spk key_kp8 = say_from_top ++ key_kp9 = say_next_line ++spk key_kp9 = top_edge ++ key_kpminus = speakup_parked ++spk key_kpminus = say_char_num ++ key_kp4 = say_prev_word ++spk key_kp4 = say_from_left ++ key_kp5 = say_word ++double key_kp5 = spell_word ++spk key_kp5 = spell_phonetic ++ key_kp6 = say_next_word ++spk key_kp6 = say_to_right ++ key_kpplus = say_screen ++spk key_kpplus = say_win ++ key_kp1 = say_prev_char ++spk key_kp1 = right_edge ++ key_kp2 = say_char ++spk key_kp2 = say_to_bottom ++double key_kp2 = say_phonetic_char ++ key_kp3 = say_next_char ++spk key_kp3 = bottom_edge ++ key_kp0 = spk_key ++ key_kpdot = say_position ++spk key_kpdot = say_attributes ++key_kpenter = speakup_quiet ++spk key_kpenter = speakup_off ++key_sysrq = speech_kill ++ key_kpslash = speakup_cut ++spk key_kpslash = speakup_paste ++spk key_pageup = say_first_char ++spk key_pagedown = say_last_char ++key_capslock = spk_key ++ spk key_z = spk_lock ++key_leftmeta = spk_key ++ctrl spk key_0 = speakup_goto ++spk key_u = say_prev_line ++spk key_i = say_line ++double spk key_i = say_line_indent ++spk key_o = say_next_line ++spk key_minus = speakup_parked ++shift spk key_minus = say_char_num ++spk key_j = say_prev_word ++spk key_k = say_word ++double spk key_k = spell_word ++spk key_l = say_next_word ++spk key_m = say_prev_char ++spk key_comma = say_char ++double spk key_comma = say_phonetic_char ++spk key_dot = say_next_char ++spk key_n = say_position ++ ctrl spk key_m = left_edge ++ ctrl spk key_y = top_edge ++ ctrl spk key_dot = right_edge ++ctrl spk key_p = bottom_edge ++spk key_apostrophe = say_screen ++spk key_h = say_from_left ++spk key_y = say_from_top ++spk key_semicolon = say_to_right ++spk key_p = say_to_bottom ++spk key_slash = say_attributes ++ spk key_enter = speakup_quiet ++ ctrl spk key_enter = speakup_off ++ spk key_9 = speakup_cut ++spk key_8 = speakup_paste ++shift spk key_m = say_first_char ++ ctrl spk key_semicolon = say_last_char ++spk key_r = read_all_doc +--- a/drivers/staging/speakup/speakup_soft.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_soft.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,366 @@ ++/* speakup_soft.c - speakup driver to register and make available ++ * a user space device for software synthesizers. written by: Kirk ++ * Reiser <kirk@braille.uwo.ca> ++ * ++ * Copyright (C) 2003 Kirk Reiser. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * this code is specificly written as a driver for the speakup screenreview ++ * package and is not a general device driver. */ ++ ++#include <linux/unistd.h> ++#include <linux/miscdevice.h> /* for misc_register, and SYNTH_MINOR */ ++#include <linux/poll.h> /* for poll_wait() */ ++#include <linux/sched.h> ++ ++#include "spk_priv.h" ++#include "speakup.h" ++ ++#define DRV_VERSION "2.6" ++#define SOFTSYNTH_MINOR 26 /* might as well give it one more than /dev/synth */ ++#define PROCSPEECH 0x0d ++#define CLEAR_SYNTH 0x18 ++ ++static int softsynth_probe(struct spk_synth *synth); ++static void softsynth_release(void); ++static int softsynth_is_alive(struct spk_synth *synth); ++static unsigned char get_index(void); ++ ++static struct miscdevice synth_device; ++static int initialized = 0; ++static int misc_registered; ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"\x01+3p" }}, ++ { CAPS_STOP, .u.s = {"\x01-3p" }}, ++ { RATE, .u.n = {"\x01%ds", 5, 0, 9, 0, 0, NULL }}, ++ { PITCH, .u.n = {"\x01%dp", 5, 0, 9, 0, 0, NULL }}, ++ { VOL, .u.n = {"\x01%dv", 5, 0, 9, 0, 0, NULL }}, ++ { TONE, .u.n = {"\x01%dx", 1, 0, 2, 0, 0, NULL }}, ++ { PUNCT, .u.n = {"\x01%db", 0, 0, 2, 0, 0, NULL }}, ++ { VOICE, .u.n = {"\x01%do", 0, 0, 7, 0, 0, NULL }}, ++ { FREQUENCY, .u.n = {"\x01%df", 5, 0, 9, 0, 0, NULL }}, ++ { DIRECT, .u.n = {NULL, 0, 0, 1, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/soft. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute freq_attribute = ++ __ATTR(freq, USER_RW, spk_var_show, spk_var_store); ++//static struct kobj_attribute lang_attribute = ++// __ATTR(lang, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute punct_attribute = ++ __ATTR(punct, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute voice_attribute = ++ __ATTR(voice, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute direct_attribute = ++ __ATTR(direct, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &freq_attribute.attr, ++// &lang_attribute.attr, ++ &pitch_attribute.attr, ++ &punct_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &voice_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &direct_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_soft = { ++ .name = "soft", ++ .version = DRV_VERSION, ++ .long_name = "software synth", ++ .init = "\01@\x01\x31y\n", ++ .procspeech = PROCSPEECH, ++ .delay = 0, ++ .trigger = 0, ++ .jiffies = 0, ++ .full = 0, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = softsynth_probe, ++ .release = softsynth_release, ++ .synth_immediate = NULL, ++ .catch_up = NULL, ++ .flush = NULL, ++ .is_alive = softsynth_is_alive, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = get_index, ++ .indexing = { ++ .command = "\x01%di", ++ .lowindex = 1, ++ .highindex = 5, ++ .currindex = 1, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "soft", ++ }, ++}; ++ ++static char *get_initstring(void) ++{ ++ static char buf[40]; ++ char *cp; ++ struct var_t *var; ++ ++ memset(buf, 0, sizeof(buf)); ++ cp = buf; ++ var = synth_soft.vars; ++ while (var->var_id != MAXVARS) { ++ if (var->var_id != CAPS_START && var->var_id != CAPS_STOP ++ && var->var_id != DIRECT) ++ cp = cp + sprintf(cp, var->u.n.synth_fmt, var->u.n.value); ++ var++; ++ } ++ cp = cp + sprintf(cp, "\n"); ++ return buf; ++} ++ ++static int softsynth_open(struct inode *inode, struct file *fp) ++{ ++ unsigned long flags; ++ /*if ((fp->f_flags & O_ACCMODE) != O_RDONLY) */ ++ /* return -EPERM; */ ++ spk_lock(flags); ++ if (synth_soft.alive) { ++ spk_unlock(flags); ++ return -EBUSY; ++ } ++ synth_soft.alive = 1; ++ spk_unlock(flags); ++ return 0; ++} ++ ++static int softsynth_close(struct inode *inode, struct file *fp) ++{ ++ unsigned long flags; ++ spk_lock(flags); ++ synth_soft.alive = 0; ++ initialized = 0; ++ spk_unlock(flags); ++ /* Make sure we let applications go before leaving */ ++ speakup_start_ttys(); ++ return 0; ++} ++ ++static ssize_t softsynth_read(struct file *fp, char *buf, size_t count, ++ loff_t *pos) ++{ ++ int chars_sent = 0; ++ char *cp; ++ char *init; ++ char ch; ++ int empty; ++ unsigned long flags; ++ DEFINE_WAIT(wait); ++ ++ spk_lock(flags); ++ while (1) { ++ prepare_to_wait(&speakup_event, &wait, TASK_INTERRUPTIBLE); ++ if (!synth_buffer_empty() || speakup_info.flushing) ++ break; ++ spk_unlock(flags); ++ if (fp->f_flags & O_NONBLOCK) { ++ finish_wait(&speakup_event, &wait); ++ return -EAGAIN; ++ } ++ if (signal_pending(current)) { ++ finish_wait(&speakup_event, &wait); ++ return -ERESTARTSYS; ++ } ++ schedule(); ++ spk_lock(flags); ++ } ++ finish_wait(&speakup_event, &wait); ++ ++ cp = buf; ++ init = get_initstring(); ++ while (chars_sent < count) { ++ if (speakup_info.flushing) { ++ speakup_info.flushing = 0; ++ ch = '\x18'; ++ } else if (synth_buffer_empty()) { ++ break; ++ } else if (! initialized) { ++ if (*init) { ++ ch = *init; ++ init++; ++ } else { ++ initialized = 1; ++ } ++ } else { ++ ch = synth_buffer_getc(); ++ } ++ spk_unlock(flags); ++ if (copy_to_user(cp, &ch, 1)) ++ return -EFAULT; ++ spk_lock(flags); ++ chars_sent++; ++ cp++; ++ } ++ *pos += chars_sent; ++ empty = synth_buffer_empty(); ++ spk_unlock(flags); ++ if (empty) { ++ speakup_start_ttys(); ++ *pos = 0; ++ } ++ return chars_sent; ++} ++ ++static int last_index = 0; ++ ++static ssize_t softsynth_write(struct file *fp, const char *buf, size_t count, ++ loff_t *pos) ++{ ++ char indbuf[5]; ++ if (count >= sizeof(indbuf)) ++ return -EINVAL; ++ ++ if (copy_from_user(indbuf, buf, count)) ++ return -EFAULT; ++ indbuf[4] = 0; ++ ++ last_index = simple_strtoul(indbuf, NULL, 0); ++ return count; ++} ++ ++static unsigned int softsynth_poll(struct file *fp, ++ struct poll_table_struct *wait) ++{ ++ unsigned long flags; ++ int ret = 0; ++ poll_wait(fp, &speakup_event, wait); ++ ++ spk_lock(flags); ++ if (! synth_buffer_empty() || speakup_info.flushing) ++ ret = POLLIN | POLLRDNORM; ++ spk_unlock(flags); ++ return ret; ++} ++ ++static unsigned char get_index(void) ++{ ++ int rv; ++ rv = last_index; ++ last_index = 0; ++ return rv; ++} ++ ++static struct file_operations softsynth_fops = { ++ .owner = THIS_MODULE, ++ .poll = softsynth_poll, ++ .read = softsynth_read, ++ .write = softsynth_write, ++ .open = softsynth_open, ++ .release = softsynth_close, ++}; ++ ++ ++static int softsynth_probe(struct spk_synth *synth) ++{ ++ ++ if (misc_registered != 0) ++ return 0; ++ memset(&synth_device, 0, sizeof(synth_device)); ++ synth_device.minor = SOFTSYNTH_MINOR; ++ synth_device.name = "softsynth"; ++ synth_device.fops = &softsynth_fops; ++ if (misc_register(&synth_device)) { ++ pr_warn("Couldn't initialize miscdevice /dev/softsynth.\n"); ++ return -ENODEV; ++ } ++ ++ misc_registered = 1; ++ pr_info("initialized device: /dev/softsynth, node (MAJOR 10, MINOR 26)\n"); ++ return 0; ++} ++ ++static void softsynth_release(void) ++{ ++ misc_deregister(&synth_device); ++ misc_registered = 0; ++ pr_info("unregistered /dev/softsynth\n"); ++} ++ ++static int softsynth_is_alive(struct spk_synth *synth) ++{ ++ if (synth_soft.alive) ++ return 1; ++ return 0; ++} ++ ++module_param_named(start, synth_soft.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++ ++static int __init soft_init(void) ++{ ++ return synth_add(&synth_soft); ++} ++ ++static void __exit soft_exit(void) ++{ ++ synth_remove(&synth_soft); ++} ++ ++module_init(soft_init); ++module_exit(soft_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_DESCRIPTION("Speakup userspace software synthesizer support"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_spkout.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_spkout.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,161 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++* this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * specificly written as a driver for the speakup screenreview ++ * s not a general device driver. ++ */ ++#include "spk_priv.h" ++#include "speakup.h" ++#include "serialio.h" ++ ++#define DRV_VERSION "2.10" ++#define SYNTH_CLEAR 0x18 ++#define PROCSPEECH '\r' ++ ++static void synth_flush(struct spk_synth *synth); ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"\x05P+" }}, ++ { CAPS_STOP, .u.s = {"\x05P-" }}, ++ { RATE, .u.n = {"\x05R%d", 7, 0, 9, 0, 0, NULL }}, ++ { PITCH, .u.n = {"\x05P%d", 3, 0, 9, 0, 0, NULL }}, ++ { VOL, .u.n = {"\x05V%d", 9, 0, 9, 0, 0, NULL }}, ++ { TONE, .u.n = {"\x05T%c", 8, 0, 25, 65, 0, NULL }}, ++ { PUNCT, .u.n = {"\x05M%c", 0, 0, 3, 0, 0, "nsma" }}, ++ V_LAST_VAR ++}; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/spkout. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute punct_attribute = ++ __ATTR(punct, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &punct_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_spkout = { ++ .name = "spkout", ++ .version = DRV_VERSION, ++ .long_name = "Speakout", ++ .init = "\005W1\005I2\005C3", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 40000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = serial_synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = spk_do_catch_up, ++ .flush = synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = spk_serial_in_nowait, ++ .indexing = { ++ .command = "\x05[%c", ++ .lowindex = 1, ++ .highindex = 5, ++ .currindex = 1, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "spkout", ++ }, ++}; ++ ++static void synth_flush(struct spk_synth *synth) ++{ ++ int timeout = SPK_XMITR_TIMEOUT; ++ while (spk_serial_tx_busy()) { ++ if (!--timeout) ++ break; ++ udelay(1); ++ } ++ outb(SYNTH_CLEAR, speakup_info.port_tts); ++} ++ ++module_param_named(ser, synth_spkout.ser, int, S_IRUGO); ++module_param_named(start, synth_spkout.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init spkout_init(void) ++{ ++ return synth_add(&synth_spkout); ++} ++ ++static void __exit spkout_exit(void) ++{ ++ synth_remove(&synth_spkout); ++} ++ ++module_init(spkout_init); ++module_exit(spkout_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for Speak Out synthesizers"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/speakup_txprt.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/speakup_txprt.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,143 @@ ++/* ++ * originally written by: Kirk Reiser <kirk@braille.uwo.ca> ++* this version considerably modified by David Borowski, david575@rogers.com ++ * ++ * Copyright (C) 1998-99 Kirk Reiser. ++ * Copyright (C) 2003 David Borowski. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * specificly written as a driver for the speakup screenreview ++ * s not a general device driver. ++ */ ++#include "spk_priv.h" ++#include "speakup.h" ++ ++#define DRV_VERSION "2.10" ++#define SYNTH_CLEAR 0x18 ++#define PROCSPEECH '\r' /* process speech char */ ++ ++static struct var_t vars[] = { ++ { CAPS_START, .u.s = {"\x05P8" }}, ++ { CAPS_STOP, .u.s = {"\x05P5" }}, ++ { RATE, .u.n = {"\x05R%d", 5, 0, 9, 0, 0, NULL }}, ++ { PITCH, .u.n = {"\x05P%d", 5, 0, 9, 0, 0, NULL }}, ++ { VOL, .u.n = {"\x05V%d", 5, 0, 9, 0, 0, NULL }}, ++ { TONE, .u.n = {"\x05T%c", 12, 0, 25, 61, 0, NULL }}, ++ V_LAST_VAR ++ }; ++ ++/* ++ * These attributes will appear in /sys/accessibility/speakup/txprt. ++ */ ++static struct kobj_attribute caps_start_attribute = ++ __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute caps_stop_attribute = ++ __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute pitch_attribute = ++ __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute rate_attribute = ++ __ATTR(rate, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute tone_attribute = ++ __ATTR(tone, USER_RW, spk_var_show, spk_var_store); ++static struct kobj_attribute vol_attribute = ++ __ATTR(vol, USER_RW, spk_var_show, spk_var_store); ++ ++static struct kobj_attribute delay_time_attribute = ++ __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute full_time_attribute = ++ __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute jiffy_delta_attribute = ++ __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); ++static struct kobj_attribute trigger_time_attribute = ++ __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); ++ ++/* ++ * Create a group of attributes so that we can create and destroy them all ++ * at once. ++ */ ++static struct attribute *synth_attrs[] = { ++ &caps_start_attribute.attr, ++ &caps_stop_attribute.attr, ++ &pitch_attribute.attr, ++ &rate_attribute.attr, ++ &tone_attribute.attr, ++ &vol_attribute.attr, ++ &delay_time_attribute.attr, ++ &full_time_attribute.attr, ++ &jiffy_delta_attribute.attr, ++ &trigger_time_attribute.attr, ++ NULL, /* need to NULL terminate the list of attributes */ ++}; ++ ++static struct spk_synth synth_txprt = { ++ .name = "txprt", ++ .version = DRV_VERSION, ++ .long_name = "Transport", ++ .init = "\x05N1", ++ .procspeech = PROCSPEECH, ++ .clear = SYNTH_CLEAR, ++ .delay = 500, ++ .trigger = 50, ++ .jiffies = 50, ++ .full = 40000, ++ .startup = SYNTH_START, ++ .checkval = SYNTH_CHECK, ++ .vars = vars, ++ .probe = serial_synth_probe, ++ .release = spk_serial_release, ++ .synth_immediate = spk_synth_immediate, ++ .catch_up = spk_do_catch_up, ++ .flush = spk_synth_flush, ++ .is_alive = spk_synth_is_alive_restart, ++ .synth_adjust = NULL, ++ .read_buff_add = NULL, ++ .get_index = NULL, ++ .indexing = { ++ .command = NULL, ++ .lowindex = 0, ++ .highindex = 0, ++ .currindex = 0, ++ }, ++ .attributes = { ++ .attrs = synth_attrs, ++ .name = "txprt", ++ }, ++}; ++ ++module_param_named(ser, synth_txprt.ser, int, S_IRUGO); ++module_param_named(start, synth_txprt.startup, short, S_IRUGO); ++ ++MODULE_PARM_DESC(ser, "Set the serial port for the synthesizer (0-based)."); ++MODULE_PARM_DESC(start, "Start the synthesizer once it is loaded."); ++ ++static int __init txprt_init(void) ++{ ++ return synth_add(&synth_txprt); ++} ++ ++static void __exit txprt_exit(void) ++{ ++ synth_remove(&synth_txprt); ++} ++ ++module_init(txprt_init); ++module_exit(txprt_exit); ++MODULE_AUTHOR("Kirk Reiser <kirk@braille.uwo.ca>"); ++MODULE_AUTHOR("David Borowski"); ++MODULE_DESCRIPTION("Speakup support for Transport synthesizers"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ +--- a/drivers/staging/speakup/spk_priv.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/spk_priv.h 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,93 @@ ++/* spk_priv.h ++ review functions for the speakup screen review package. ++ originally written by: Kirk Reiser and Andy Berdan. ++ ++ extensively modified by David Borowski. ++ ++ Copyright (C) 1998 Kirk Reiser. ++ Copyright (C) 2003 David Borowski. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++*/ ++#ifndef _SPEAKUP_PRIVATE_H ++#define _SPEAKUP_PRIVATE_H ++ ++#include "spk_types.h" ++#include "spk_priv_keyinfo.h" ++ ++#ifndef pr_warn ++#define pr_warn(fmt, arg...) printk(KERN_WARNING fmt, ##arg) ++#endif ++ ++#define V_LAST_VAR { MAXVARS } ++#define SPACE 0x20 ++#define SYNTH_CHECK 20030716 /* today's date ought to do for check value */ ++/* synth flags, for odd synths */ ++#define SF_DEC 1 /* to fiddle puncs in alpha strings so it doesn't spell */ ++#ifdef MODULE ++#define SYNTH_START 1 ++#else ++#define SYNTH_START 0 ++#endif ++ ++#define KT_SPKUP 15 ++ ++extern struct serial_state *spk_serial_init(int index); ++extern void stop_serial_interrupt(void); ++extern int wait_for_xmitr(void); ++extern unsigned char spk_serial_in(void); ++extern unsigned char spk_serial_in_nowait(void); ++extern int spk_serial_out(const char ch); ++extern void spk_serial_release(void); ++ ++extern char synth_buffer_getc(void); ++extern char synth_buffer_peek(void); ++extern int synth_buffer_empty(void); ++extern struct var_t *get_var(enum var_id_t var_id); ++extern ssize_t spk_var_show(struct kobject *kobj, struct kobj_attribute *attr, ++ char *buf); ++extern ssize_t spk_var_store(struct kobject *kobj, struct kobj_attribute *attr, ++ const char *buf, size_t count); ++ ++extern int serial_synth_probe(struct spk_synth *synth); ++extern const char *spk_synth_immediate(struct spk_synth *synth, const char *buff); ++extern void spk_do_catch_up(struct spk_synth *synth); ++extern void spk_synth_flush(struct spk_synth *synth); ++extern int spk_synth_is_alive_nop(struct spk_synth *synth); ++extern int spk_synth_is_alive_restart(struct spk_synth *synth); ++extern void synth_printf(const char *buf, ...); ++extern int synth_request_region(u_long, u_long); ++extern int synth_release_region(u_long, u_long); ++extern int synth_add(struct spk_synth *in_synth); ++extern void synth_remove(struct spk_synth *in_synth); ++ ++extern struct speakup_info_t speakup_info; ++ ++extern struct var_t synth_time_vars[]; ++ ++/* Protect the whole speakup machinery, must be taken at each kernel->speakup ++ * transition and released at all corresponding speakup->kernel transitions ++ * (flags must be the same variable between lock/trylock and unlock). ++ * ++ * The progression thread only interferes with the speakup machinery through ++ * the synth buffer, and so only needs to take the lock while tinkering with ++ * it. ++ */ ++/* Speakup needs to disable the keyboard IRQ, hence _irqsave/restore */ ++#define spk_lock(flags) spin_lock_irqsave(&speakup_info.spinlock, flags) ++#define spk_trylock(flags) spin_trylock_irqsave(&speakup_info.spinlock, flags) ++#define spk_unlock(flags) spin_unlock_irqrestore(&speakup_info.spinlock, flags) ++ ++#endif +--- a/drivers/staging/speakup/spk_priv_keyinfo.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/spk_priv_keyinfo.h 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,110 @@ ++/* spk_priv.h ++ review functions for the speakup screen review package. ++ originally written by: Kirk Reiser and Andy Berdan. ++ ++ extensively modified by David Borowski. ++ ++ Copyright (C) 1998 Kirk Reiser. ++ Copyright (C) 2003 David Borowski. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++*/ ++ ++#ifndef _SPEAKUP_KEYINFO_H ++#define _SPEAKUP_KEYINFO_H ++ ++#define FIRST_SYNTH_VAR RATE ++/* 0 is reserved for no remap */ ++#define SPEAKUP_GOTO 0x01 ++#define SPEECH_KILL 0x02 ++#define SPEAKUP_QUIET 0x03 ++#define SPEAKUP_CUT 0x04 ++#define SPEAKUP_PASTE 0x05 ++#define SAY_FIRST_CHAR 0x06 ++#define SAY_LAST_CHAR 0x07 ++#define SAY_CHAR 0x08 ++#define SAY_PREV_CHAR 0x09 ++#define SAY_NEXT_CHAR 0x0a ++#define SAY_WORD 0x0b ++#define SAY_PREV_WORD 0x0c ++#define SAY_NEXT_WORD 0x0d ++#define SAY_LINE 0x0e ++#define SAY_PREV_LINE 0x0f ++#define SAY_NEXT_LINE 0x10 ++#define TOP_EDGE 0x11 ++#define BOTTOM_EDGE 0x12 ++#define LEFT_EDGE 0x13 ++#define RIGHT_EDGE 0x14 ++#define SPELL_PHONETIC 0x15 ++#define SPELL_WORD 0x16 ++#define SAY_SCREEN 0x17 ++#define SAY_POSITION 0x18 ++#define SAY_ATTRIBUTES 0x19 ++#define SPEAKUP_OFF 0x1a ++#define SPEAKUP_PARKED 0x1b ++#define SAY_LINE_INDENT 0x1c ++#define SAY_FROM_TOP 0x1d ++#define SAY_TO_BOTTOM 0x1e ++#define SAY_FROM_LEFT 0x1f ++#define SAY_TO_RIGHT 0x20 ++#define SAY_CHAR_NUM 0x21 ++#define EDIT_SOME 0x22 ++#define EDIT_MOST 0x23 ++#define SAY_PHONETIC_CHAR 0x24 ++#define EDIT_DELIM 0x25 ++#define EDIT_REPEAT 0x26 ++#define EDIT_EXNUM 0x27 ++#define SET_WIN 0x28 ++#define CLEAR_WIN 0x29 ++#define ENABLE_WIN 0x2a ++#define SAY_WIN 0x2b ++#define SPK_LOCK 0x2c ++#define SPEAKUP_HELP 0x2d ++#define TOGGLE_CURSORING 0x2e ++#define READ_ALL_DOC 0x2f ++#define SPKUP_MAX_FUNC 0x30 /* one greater than the last func handler */ ++ ++#define SPK_KEY 0x80 ++#define FIRST_EDIT_BITS 0x22 ++ ++#define FIRST_SET_VAR SPELL_DELAY ++#define VAR_START 0x40 /* increase if adding more than 0x3f functions */ ++ ++/* keys for setting variables, must be ordered same as the enum for var_ids */ ++/* with dec being even and inc being 1 greater */ ++#define SPELL_DELAY_DEC VAR_START+0 ++#define SPELL_DELAY_INC SPELL_DELAY_DEC+1 ++#define PUNC_LEVEL_DEC SPELL_DELAY_DEC+2 ++#define PUNC_LEVEL_INC PUNC_LEVEL_DEC+1 ++#define READING_PUNC_DEC PUNC_LEVEL_DEC+2 ++#define READING_PUNC_INC READING_PUNC_DEC+1 ++#define ATTRIB_BLEEP_DEC READING_PUNC_DEC+2 ++#define ATTRIB_BLEEP_INC ATTRIB_BLEEP_DEC+1 ++#define BLEEPS_DEC ATTRIB_BLEEP_DEC+2 ++#define BLEEPS_INC BLEEPS_DEC+1 ++#define RATE_DEC BLEEPS_DEC+2 ++#define RATE_INC RATE_DEC+1 ++#define PITCH_DEC RATE_DEC+2 ++#define PITCH_INC PITCH_DEC+1 ++#define VOL_DEC PITCH_DEC+2 ++#define VOL_INC VOL_DEC+1 ++#define TONE_DEC VOL_DEC+2 ++#define TONE_INC TONE_DEC+1 ++#define PUNCT_DEC TONE_DEC+2 ++#define PUNCT_INC PUNCT_DEC+1 ++#define VOICE_DEC PUNCT_DEC+2 ++#define VOICE_INC VOICE_DEC+1 ++ ++#endif +--- a/drivers/staging/speakup/spk_types.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/spk_types.h 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,185 @@ ++#ifndef SPEAKUP_TYPES_H ++#define SPEAKUP_TYPES_H ++ ++/* ++ * This file includes all of the typedefs and structs used in speakup. ++ */ ++ ++#include <linux/types.h> ++#include <linux/fs.h> ++#include <linux/errno.h> ++#include <linux/delay.h> ++#include <linux/wait.h> /* for wait_queue */ ++#include <linux/init.h> /* for __init */ ++#include <linux/module.h> ++#include <linux/vt_kern.h> ++#include <linux/spinlock.h> ++#include <linux/mutex.h> ++#include <linux/io.h> /* for inb_p, outb_p, inb, outb, etc... */ ++ ++enum var_type_t { ++ VAR_NUM = 0, ++ VAR_TIME, ++ VAR_STRING, ++ VAR_PROC ++}; ++ ++enum { ++ E_DEFAULT = 0, ++ E_SET, ++ E_INC, ++ E_DEC ++}; ++ ++enum var_id_t { ++ VERSION = 0, SYNTH, SILENT, SYNTH_DIRECT, ++ KEYMAP, CHARS, ++ PUNC_SOME, PUNC_MOST, PUNC_ALL, ++ DELIM, REPEATS, EXNUMBER, ++ DELAY, TRIGGER, JIFFY, FULL, /* all timers must be together */ ++ BLEEP_TIME, CURSOR_TIME, BELL_POS, ++SAY_CONTROL, SAY_WORD_CTL, NO_INTERRUPT, KEY_ECHO, ++ SPELL_DELAY, PUNC_LEVEL, READING_PUNC, ++ ATTRIB_BLEEP, BLEEPS, ++ RATE, PITCH, VOL, TONE, PUNCT, VOICE, FREQUENCY, LANG, DIRECT, ++ CAPS_START, CAPS_STOP, CHARTAB, ++ MAXVARS ++}; ++ ++typedef int (*special_func)(struct vc_data *vc, u_char type, u_char ch, ++ u_short key); ++ ++#define COLOR_BUFFER_SIZE 160 ++ ++struct spk_highlight_color_track{ ++ /* Count of each background color */ ++ unsigned int bgcount[8]; ++ /* Buffer for characters drawn with each background color */ ++ char highbuf[8][COLOR_BUFFER_SIZE]; ++ /* Current index into highbuf */ ++ unsigned int highsize[8]; ++ /* Reading Position for each color */ ++ u_long rpos[8], rx[8], ry[8]; ++ /* Real Cursor Y Position */ ++ ulong cy; ++}; ++ ++struct st_spk_t { ++ u_long reading_x, cursor_x; ++ u_long reading_y, cursor_y; ++ u_long reading_pos, cursor_pos; ++ u_long go_x, go_pos; ++ u_long w_top, w_bottom, w_left, w_right; ++ u_char w_start, w_enabled; ++ u_char reading_attr, old_attr; ++ char parked, shut_up; ++ struct spk_highlight_color_track ht; ++ int tty_stopped; ++}; ++ ++/* now some defines to make these easier to use. */ ++#define spk_shut_up speakup_console[vc->vc_num]->shut_up ++#define spk_killed (speakup_console[vc->vc_num]->shut_up & 0x40) ++#define spk_x speakup_console[vc->vc_num]->reading_x ++#define spk_cx speakup_console[vc->vc_num]->cursor_x ++#define spk_y speakup_console[vc->vc_num]->reading_y ++#define spk_cy speakup_console[vc->vc_num]->cursor_y ++#define spk_pos (speakup_console[vc->vc_num]->reading_pos) ++#define spk_cp speakup_console[vc->vc_num]->cursor_pos ++#define goto_pos (speakup_console[vc->vc_num]->go_pos) ++#define goto_x (speakup_console[vc->vc_num]->go_x) ++#define win_top (speakup_console[vc->vc_num]->w_top) ++#define win_bottom (speakup_console[vc->vc_num]->w_bottom) ++#define win_left (speakup_console[vc->vc_num]->w_left) ++#define win_right (speakup_console[vc->vc_num]->w_right) ++#define win_start (speakup_console[vc->vc_num]->w_start) ++#define win_enabled (speakup_console[vc->vc_num]->w_enabled) ++#define spk_attr speakup_console[vc->vc_num]->reading_attr ++#define spk_old_attr speakup_console[vc->vc_num]->old_attr ++#define spk_parked speakup_console[vc->vc_num]->parked ++ ++struct st_var_header { ++ char *name; ++ enum var_id_t var_id; ++ enum var_type_t var_type; ++ void *p_val; /* ptr to programs variable to store value */ ++ void *data; /* ptr to the vars data */ ++}; ++ ++struct num_var_t { ++ char *synth_fmt; ++ int default_val; ++ int low; ++ int high; ++ short offset, multiplier; /* for fiddling rates etc. */ ++ char *out_str; /* if synth needs char representation of number */ ++ int value; /* current value */ ++}; ++ ++struct punc_var_t { ++ enum var_id_t var_id; ++ short value; ++}; ++ ++struct string_var_t { ++ char *default_val; ++}; ++ ++struct var_t { ++ enum var_id_t var_id; ++ union { ++ struct num_var_t n; ++ struct string_var_t s; ++ } u; ++}; ++ ++struct st_bits_data { /* punc, repeats, word delim bits */ ++ char *name; ++ char *value; ++ short mask; ++}; ++ ++struct synth_indexing { ++ char *command; ++ unsigned char lowindex; ++ unsigned char highindex; ++ unsigned char currindex; ++}; ++ ++struct spk_synth { ++ const char *name; ++ const char *version; ++ const char *long_name; ++ const char *init; ++ char procspeech; ++ char clear; ++ int delay; ++ int trigger; ++ int jiffies; ++ int full; ++ int ser; ++ short flags; ++ short startup; ++ const int checkval; /* for validating a proper synth module */ ++ struct var_t *vars; ++ int (*probe)(struct spk_synth *synth); ++ void (*release)(void); ++ const char *(*synth_immediate)(struct spk_synth *synth, const char *buff); ++ void (*catch_up)(struct spk_synth *synth); ++ void (*flush)(struct spk_synth *synth); ++ int (*is_alive)(struct spk_synth *synth); ++ int (*synth_adjust)(struct st_var_header *var); ++ void (*read_buff_add)(u_char); ++ unsigned char (*get_index)(void); ++ struct synth_indexing indexing; ++ int alive; ++ struct attribute_group attributes; ++}; ++ ++struct speakup_info_t { ++ spinlock_t spinlock; ++ int port_tts; ++ int flushing; ++}; ++ ++#endif +--- a/drivers/staging/speakup/synth.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/synth.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,458 @@ ++#include <linux/types.h> ++#include <linux/ctype.h> /* for isdigit() and friends */ ++#include <linux/fs.h> ++#include <linux/mm.h> /* for verify_area */ ++#include <linux/errno.h> /* for -EBUSY */ ++#include <linux/ioport.h> /* for check_region, request_region */ ++#include <linux/interrupt.h> ++#include <linux/delay.h> /* for loops_per_sec */ ++#include <linux/kmod.h> ++#include <linux/jiffies.h> ++#include <linux/uaccess.h> /* for copy_from_user */ ++#include <linux/sched.h> ++#include <linux/timer.h> ++#include <linux/kthread.h> ++ ++#include "spk_priv.h" ++#include "speakup.h" ++#include "serialio.h" ++ ++#define MAXSYNTHS 16 /* Max number of synths in array. */ ++static struct spk_synth *synths[MAXSYNTHS]; ++struct spk_synth *synth = NULL; ++char pitch_buff[32] = ""; ++static int module_status; ++int quiet_boot; ++ ++struct speakup_info_t speakup_info = { ++ .spinlock = SPIN_LOCK_UNLOCKED, ++ .flushing = 0, ++}; ++EXPORT_SYMBOL_GPL(speakup_info); ++ ++static int do_synth_init(struct spk_synth *in_synth); ++ ++int serial_synth_probe(struct spk_synth *synth) ++{ ++ struct serial_state *ser; ++ int failed = 0; ++ ++ if ((synth->ser >= SPK_LO_TTY) && (synth->ser <= SPK_HI_TTY)) { ++ ser = spk_serial_init(synth->ser); ++ if (ser == NULL) { ++ failed = -1; ++ } else { ++ outb_p(0, ser->port); ++ mdelay(1); ++ outb_p('\r', ser->port); ++ } ++ } else { ++ failed = -1; ++ pr_warn("ttyS%i is an invalid port\n", synth->ser); ++ } ++ if (failed) { ++ pr_info("%s: not found\n", synth->long_name); ++ return -ENODEV; ++ } ++ pr_info("%s: ttyS%i, Driver Version %s\n", ++ synth->long_name, synth->ser, synth->version); ++ synth->alive = 1; ++ return 0; ++} ++EXPORT_SYMBOL_GPL(serial_synth_probe); ++ ++/* Main loop of the progression thread: keep eating from the buffer ++ * and push to the serial port, waiting as needed ++ * ++ * For devices that have a "full" notification mecanism, the driver can ++ * adapt the loop the way they prefer. ++ */ ++void spk_do_catch_up(struct spk_synth *synth) ++{ ++ u_char ch; ++ unsigned long flags; ++ unsigned long jiff_max; ++ struct var_t *delay_time; ++ struct var_t *full_time; ++ struct var_t *jiffy_delta; ++ int jiffy_delta_val; ++ int delay_time_val; ++ int full_time_val; ++ ++ jiffy_delta = get_var(JIFFY); ++ full_time = get_var(FULL); ++ delay_time = get_var(DELAY); ++ ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ spk_unlock(flags); ++ ++ jiff_max = jiffies + jiffy_delta_val; ++ while (!kthread_should_stop()) { ++ spk_lock(flags); ++ if (speakup_info.flushing) { ++ speakup_info.flushing = 0; ++ spk_unlock(flags); ++ synth->flush(synth); ++ continue; ++ } ++ if (synth_buffer_empty()) { ++ spk_unlock(flags); ++ break; ++ } ++ ch = synth_buffer_peek(); ++ set_current_state(TASK_INTERRUPTIBLE); ++ full_time_val = full_time->u.n.value; ++ spk_unlock(flags); ++ if (ch == '\n') ++ ch = synth->procspeech; ++ if (!spk_serial_out(ch)) { ++ schedule_timeout(msecs_to_jiffies(full_time_val)); ++ continue; ++ } ++ if ((jiffies >= jiff_max) && (ch == SPACE)) { ++ spk_lock(flags); ++ jiffy_delta_val = jiffy_delta->u.n.value; ++ delay_time_val = delay_time->u.n.value; ++ full_time_val = full_time->u.n.value; ++ spk_unlock(flags); ++ if (spk_serial_out(synth->procspeech)) ++ schedule_timeout(msecs_to_jiffies(delay_time_val)); ++ else ++ schedule_timeout(msecs_to_jiffies(full_time_val)); ++ jiff_max = jiffies + jiffy_delta_val; ++ } ++ set_current_state(TASK_RUNNING); ++ spk_lock(flags); ++ synth_buffer_getc(); ++ spk_unlock(flags); ++ } ++ spk_serial_out(synth->procspeech); ++} ++EXPORT_SYMBOL_GPL(spk_do_catch_up); ++ ++const char *spk_synth_immediate(struct spk_synth *synth, const char *buff) ++{ ++ u_char ch; ++ while ((ch = *buff)) { ++ if (ch == '\n') ++ ch = synth->procspeech; ++ if (wait_for_xmitr()) ++ outb(ch, speakup_info.port_tts); ++ else ++ return buff; ++ buff++; ++ } ++ return 0; ++} ++EXPORT_SYMBOL_GPL(spk_synth_immediate); ++ ++void spk_synth_flush(struct spk_synth *synth) ++{ ++ spk_serial_out(synth->clear); ++} ++EXPORT_SYMBOL_GPL(spk_synth_flush); ++ ++int spk_synth_is_alive_nop(struct spk_synth *synth) ++{ ++ synth->alive = 1; ++ return 1; ++} ++EXPORT_SYMBOL_GPL(spk_synth_is_alive_nop); ++ ++int spk_synth_is_alive_restart(struct spk_synth *synth) ++{ ++ if (synth->alive) ++ return 1; ++ if (!synth->alive && wait_for_xmitr() > 0) { ++ /* restart */ ++ synth->alive = 1; ++ synth_printf("%s", synth->init); ++ return 2; /* reenabled */ ++ } ++ pr_warn("%s: can't restart synth\n", synth->long_name); ++ return 0; ++} ++EXPORT_SYMBOL_GPL(spk_synth_is_alive_restart); ++ ++static void thread_wake_up(u_long data) ++{ ++ wake_up_interruptible_all(&speakup_event); ++} ++ ++static DEFINE_TIMER(thread_timer, thread_wake_up, 0, 0); ++ ++void synth_start(void) ++{ ++ struct var_t *trigger_time; ++ ++ if (!synth->alive) { ++ synth_buffer_clear(); ++ return; ++ } ++ trigger_time = get_var(TRIGGER); ++ if (!timer_pending(&thread_timer)) ++ mod_timer(&thread_timer, jiffies + msecs_to_jiffies(trigger_time->u.n.value)); ++} ++ ++void do_flush(void) ++{ ++ speakup_info.flushing = 1; ++ synth_buffer_clear(); ++ if (synth->alive) { ++ if (pitch_shift) { ++ synth_printf("%s", pitch_buff); ++ pitch_shift = 0; ++ } ++ } ++ wake_up_interruptible_all(&speakup_event); ++ wake_up_process(speakup_task); ++} ++ ++void synth_write(const char *buf, size_t count) ++{ ++ while (count--) ++ synth_buffer_add(*buf++); ++ synth_start(); ++} ++ ++void synth_printf(const char *fmt, ...) ++{ ++ va_list args; ++ unsigned char buf[160], *p; ++ int r; ++ ++ va_start(args, fmt); ++ r = vsnprintf(buf, sizeof(buf), fmt, args); ++ va_end(args); ++ if (r > sizeof(buf) - 1) ++ r = sizeof(buf) - 1; ++ ++ p = buf; ++ while (r--) ++ synth_buffer_add(*p++); ++ synth_start(); ++} ++EXPORT_SYMBOL_GPL(synth_printf); ++ ++static int index_count = 0; ++static int sentence_count = 0; ++ ++void reset_index_count(int sc) ++{ ++ static int first = 1; ++ if (first) ++ first = 0; ++ else ++ synth->get_index(); ++ index_count = 0; ++ sentence_count = sc; ++} ++ ++int synth_supports_indexing(void) ++{ ++ if (synth->get_index != NULL) ++ return 1; ++ return 0; ++} ++ ++void synth_insert_next_index(int sent_num) ++{ ++ int out; ++ if (synth->alive) { ++ if (sent_num == 0) { ++ synth->indexing.currindex++; ++ index_count++; ++ if (synth->indexing.currindex > ++ synth->indexing.highindex) ++ synth->indexing.currindex = ++ synth->indexing.lowindex; ++ } ++ ++ out = synth->indexing.currindex * 10 + sent_num; ++ synth_printf(synth->indexing.command, out, out); ++ } ++} ++ ++void get_index_count(int *linecount, int *sentcount) ++{ ++ int ind = synth->get_index(); ++ if (ind) { ++ sentence_count = ind % 10; ++ ++ if ((ind / 10) <= synth->indexing.currindex) ++ index_count = synth->indexing.currindex-(ind/10); ++ else ++ index_count = synth->indexing.currindex-synth->indexing.lowindex ++ + synth->indexing.highindex-(ind/10)+1; ++ ++ } ++ *sentcount = sentence_count; ++ *linecount = index_count; ++} ++ ++static struct resource synth_res; ++ ++int synth_request_region(unsigned long start, unsigned long n) ++{ ++ struct resource *parent = &ioport_resource; ++ memset(&synth_res, 0, sizeof(synth_res)); ++ synth_res.name = synth->name; ++ synth_res.start = start; ++ synth_res.end = start + n - 1; ++ synth_res.flags = IORESOURCE_BUSY; ++ return request_resource(parent, &synth_res); ++} ++EXPORT_SYMBOL_GPL(synth_request_region); ++ ++int synth_release_region(unsigned long start, unsigned long n) ++{ ++ return release_resource(&synth_res); ++} ++EXPORT_SYMBOL_GPL(synth_release_region); ++ ++struct var_t synth_time_vars[] = { ++ { DELAY, .u.n = {NULL, 100, 100, 2000, 0, 0, NULL }}, ++ { TRIGGER, .u.n = {NULL, 20, 10, 2000, 0, 0, NULL }}, ++ { JIFFY, .u.n = {NULL, 50, 20, 200, 0, 0, NULL }}, ++ { FULL, .u.n = {NULL, 400, 200, 60000, 0, 0, NULL }}, ++ V_LAST_VAR ++}; ++ ++/* called by: speakup_init() */ ++int synth_init(char *synth_name) ++{ ++ int i; ++ int ret = 0; ++ struct spk_synth *synth = NULL; ++ ++ if (synth_name == NULL) ++ return 0; ++ ++ if (strcmp(synth_name, "none") == 0) { ++ mutex_lock(&spk_mutex); ++ synth_release(); ++ mutex_unlock(&spk_mutex); ++ return 0; ++ } ++ ++ mutex_lock(&spk_mutex); ++ /* First, check if we already have it loaded. */ ++ for (i = 0; synths[i] != NULL && i < MAXSYNTHS; i++) ++ if (strcmp(synths[i]->name, synth_name) == 0) ++ synth = synths[i]; ++ ++ /* If we got one, initialize it now. */ ++ if (synth) ++ ret = do_synth_init(synth); ++ else ++ ret = -ENODEV; ++ mutex_unlock(&spk_mutex); ++ ++ return ret; ++} ++ ++/* called by: synth_add() */ ++static int do_synth_init(struct spk_synth *in_synth) ++{ ++ struct var_t *var; ++ ++ synth_release(); ++ if (in_synth->checkval != SYNTH_CHECK) ++ return -EINVAL; ++ synth = in_synth; ++ synth->alive = 0; ++ pr_warn("synth probe\n"); ++ if (synth->probe(synth) < 0) { ++ pr_warn("%s: device probe failed\n", in_synth->name); ++ synth = NULL; ++ return -ENODEV; ++ } ++ synth_time_vars[0].u.n.value = ++ synth_time_vars[0].u.n.default_val = synth->delay; ++ synth_time_vars[1].u.n.value = ++ synth_time_vars[1].u.n.default_val = synth->trigger; ++ synth_time_vars[2].u.n.value = ++ synth_time_vars[2].u.n.default_val = synth->jiffies; ++ synth_time_vars[3].u.n.value = ++ synth_time_vars[3].u.n.default_val = synth->full; ++ synth_printf("%s", synth->init); ++ for (var = synth->vars; (var->var_id >= 0) && (var->var_id < MAXVARS); var++) ++ speakup_register_var(var); ++ if (!quiet_boot) ++ synth_printf("%s found\n", synth->long_name); ++ if (synth->attributes.name ++ && sysfs_create_group(speakup_kobj, &(synth->attributes)) < 0) ++ return -ENOMEM; ++ synth_flags = synth->flags; ++ wake_up_interruptible_all(&speakup_event); ++ if (speakup_task) ++ wake_up_process(speakup_task); ++ return 0; ++} ++ ++void synth_release(void) ++{ ++ struct var_t *var; ++ unsigned long flags; ++ ++ if (synth == NULL) ++ return; ++ spk_lock(flags); ++ pr_info("releasing synth %s\n", synth->name); ++ synth->alive = 0; ++ del_timer(&thread_timer); ++ spk_unlock(flags); ++ if (synth->attributes.name) ++ sysfs_remove_group(speakup_kobj, &(synth->attributes)); ++ for (var = synth->vars; var->var_id != MAXVARS; var++) ++ speakup_unregister_var(var->var_id); ++ stop_serial_interrupt(); ++ synth->release(); ++ synth = NULL; ++} ++ ++/* called by: all_driver_init() */ ++int synth_add(struct spk_synth *in_synth) ++{ ++ int i; ++ int status = 0; ++ mutex_lock(&spk_mutex); ++ for (i = 0; synths[i] != NULL && i < MAXSYNTHS; i++) ++ /* synth_remove() is responsible for rotating the array down */ ++ if (in_synth == synths[i]) { ++ mutex_unlock(&spk_mutex); ++ return 0; ++ } ++ if (i == MAXSYNTHS) { ++ pr_warn("Error: attempting to add a synth past end of array\n"); ++ mutex_unlock(&spk_mutex); ++ return -1; ++ } ++ synths[i++] = in_synth; ++ synths[i] = NULL; ++ if (in_synth->startup) ++ status = do_synth_init(in_synth); ++ mutex_unlock(&spk_mutex); ++ return status; ++} ++EXPORT_SYMBOL_GPL(synth_add); ++ ++void synth_remove(struct spk_synth *in_synth) ++{ ++ int i; ++ mutex_lock(&spk_mutex); ++ if (synth == in_synth) ++ synth_release(); ++ for (i = 0; synths[i] != NULL; i++) { ++ if (in_synth == synths[i]) ++ break; ++ } ++ for ( ; synths[i] != NULL; i++) /* compress table */ ++ synths[i] = synths[i+1]; ++ module_status = 0; ++ mutex_unlock(&spk_mutex); ++} ++EXPORT_SYMBOL_GPL(synth_remove); ++ ++short punc_masks[] = { 0, SOME, MOST, PUNC, PUNC|B_SYM }; +--- a/drivers/staging/speakup/thread.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/thread.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,47 @@ ++#include <linux/kthread.h> ++#include <linux/wait.h> ++ ++#include "spk_types.h" ++#include "speakup.h" ++#include "spk_priv.h" ++ ++DECLARE_WAIT_QUEUE_HEAD(speakup_event); ++EXPORT_SYMBOL_GPL(speakup_event); ++ ++int speakup_thread(void *data) ++{ ++ unsigned long flags; ++ int should_break; ++ ++ mutex_lock(&spk_mutex); ++ while (1) { ++ DEFINE_WAIT(wait); ++ while(1) { ++ spk_lock(flags); ++ prepare_to_wait(&speakup_event, &wait, TASK_INTERRUPTIBLE); ++ should_break = kthread_should_stop() || ++ (synth && synth->catch_up && synth->alive && ++ (speakup_info.flushing || ++ !synth_buffer_empty())); ++ spk_unlock(flags); ++ if (should_break) ++ break; ++ mutex_unlock(&spk_mutex); ++ schedule(); ++ mutex_lock(&spk_mutex); ++ } ++ finish_wait(&speakup_event, &wait); ++ if (kthread_should_stop()) ++ break; ++ ++ if (synth && synth->catch_up && synth->alive) { ++ /* It is up to the callee to take the lock, so that it ++ * can sleep whenever it likes */ ++ synth->catch_up(synth); ++ } ++ ++ speakup_start_ttys(); ++ } ++ mutex_unlock(&spk_mutex); ++ return 0; ++} +--- a/drivers/staging/speakup/varhandlers.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/staging/speakup/varhandlers.c 2009-08-13 01:21:12.000000000 +0100 +@@ -0,0 +1,395 @@ ++#include <linux/ctype.h> ++#include "spk_types.h" ++#include "spk_priv.h" ++#include "speakup.h" ++ ++static struct st_var_header var_headers[] = { ++ { "version", VERSION, VAR_PROC, NULL, NULL }, ++ { "synth_name", SYNTH, VAR_PROC, NULL, NULL }, ++ { "keymap", KEYMAP, VAR_PROC, NULL, NULL }, ++ { "silent", SILENT, VAR_PROC, NULL, NULL }, ++ { "punc_some", PUNC_SOME, VAR_PROC, NULL, NULL }, ++ { "punc_most", PUNC_MOST, VAR_PROC, NULL, NULL }, ++ { "punc_all", PUNC_ALL, VAR_PROC, NULL, NULL }, ++ { "delimiters", DELIM, VAR_PROC, NULL, NULL }, ++ { "repeats", REPEATS, VAR_PROC, NULL, NULL }, ++ { "ex_num", EXNUMBER, VAR_PROC, NULL, NULL }, ++ { "characters", CHARS, VAR_PROC, NULL, NULL }, ++ { "synth_direct", SYNTH_DIRECT, VAR_PROC, NULL, NULL }, ++ { "caps_start", CAPS_START, VAR_STRING, str_caps_start, NULL }, ++ { "caps_stop", CAPS_STOP, VAR_STRING, str_caps_stop, NULL }, ++ { "delay_time", DELAY, VAR_TIME, NULL, NULL }, ++ { "trigger_time", TRIGGER, VAR_TIME, NULL, NULL }, ++ { "jiffy_delta", JIFFY, VAR_TIME, NULL, NULL }, ++ { "full_time", FULL, VAR_TIME, NULL, NULL }, ++ { "spell_delay", SPELL_DELAY, VAR_NUM, &spell_delay, NULL }, ++ { "bleeps", BLEEPS, VAR_NUM, &bleeps, NULL }, ++ { "attrib_bleep", ATTRIB_BLEEP, VAR_NUM, &attrib_bleep, NULL }, ++ { "bleep_time", BLEEP_TIME, VAR_TIME, &bleep_time, NULL }, ++ { "cursor_time", CURSOR_TIME, VAR_TIME, NULL, NULL }, ++ { "punc_level", PUNC_LEVEL, VAR_NUM, &punc_level, NULL }, ++ { "reading_punc", READING_PUNC, VAR_NUM, &reading_punc, NULL }, ++ { "say_control", SAY_CONTROL, VAR_NUM, &say_ctrl, NULL }, ++ { "say_word_ctl", SAY_WORD_CTL, VAR_NUM, &say_word_ctl, NULL }, ++ { "no_interrupt", NO_INTERRUPT, VAR_NUM, &no_intr, NULL }, ++ { "key_echo", KEY_ECHO, VAR_NUM, &key_echo, NULL }, ++ { "bell_pos", BELL_POS, VAR_NUM, &bell_pos, NULL }, ++ { "rate", RATE, VAR_NUM, NULL, NULL }, ++ { "pitch", PITCH, VAR_NUM, NULL, NULL }, ++ { "vol", VOL, VAR_NUM, NULL, NULL }, ++ { "tone", TONE, VAR_NUM, NULL, NULL }, ++ { "punct", PUNCT, VAR_NUM, NULL, NULL }, ++ { "voice", VOICE, VAR_NUM, NULL, NULL }, ++ { "freq", FREQUENCY, VAR_NUM, NULL, NULL }, ++ { "lang", LANG, VAR_NUM, NULL, NULL }, ++ { "chartab", CHARTAB, VAR_PROC, NULL, NULL }, ++ { "direct", DIRECT, VAR_NUM, NULL, NULL }, ++}; ++ ++static struct st_var_header *var_ptrs[MAXVARS] = { 0, 0, 0 }; ++ ++static struct punc_var_t punc_vars[] = { ++ { PUNC_SOME, 1 }, ++ { PUNC_MOST, 2 }, ++ { PUNC_ALL, 3 }, ++ { DELIM, 4 }, ++ { REPEATS, 5 }, ++ { EXNUMBER, 6 }, ++ { -1, -1 }, ++}; ++ ++int chartab_get_value(char *keyword) ++{ ++ int value = 0; ++ ++ if (!strcmp(keyword, "ALPHA")) ++ value = ALPHA; ++ else if (!strcmp(keyword, "B_CTL")) ++ value = B_CTL; ++ else if (!strcmp(keyword, "WDLM")) ++ value = WDLM; ++ else if (!strcmp(keyword, "A_PUNC")) ++ value = A_PUNC; ++ else if (!strcmp(keyword, "PUNC")) ++ value = PUNC; ++ else if (!strcmp(keyword, "NUM")) ++ value = NUM; ++ else if (!strcmp(keyword, "A_CAP")) ++ value = A_CAP; ++ else if (!strcmp(keyword, "B_CAPSYM")) ++ value = B_CAPSYM; ++ else if (!strcmp(keyword, "B_SYM")) ++ value = B_SYM; ++ return value; ++} ++ ++void speakup_register_var(struct var_t *var) ++{ ++ static char nothing[2] = "\0"; ++ int i; ++ struct st_var_header *p_header; ++ ++ BUG_ON(!var || var->var_id < 0 || var->var_id >= MAXVARS); ++ if (var_ptrs[0] == NULL) { ++ for (i = 0; i < MAXVARS; i++) { ++ p_header = &var_headers[i]; ++ var_ptrs[p_header->var_id] = p_header; ++ p_header->data = NULL; ++ } ++ } ++ p_header = var_ptrs[var->var_id]; ++ if (p_header->data != NULL) ++ return; ++ p_header->data = var; ++ switch (p_header->var_type) { ++ case VAR_STRING: ++ set_string_var(nothing, p_header, 0); ++ break; ++ case VAR_NUM: ++ case VAR_TIME: ++ set_num_var(0, p_header, E_DEFAULT); ++ break; ++ default: ++ break; ++ } ++ return; ++} ++ ++void speakup_unregister_var(enum var_id_t var_id) ++{ ++ struct st_var_header *p_header; ++ BUG_ON(var_id < 0 || var_id >= MAXVARS); ++ p_header = var_ptrs[var_id]; ++ p_header->data = NULL; ++} ++ ++struct st_var_header *get_var_header(enum var_id_t var_id) ++{ ++ struct st_var_header *p_header; ++ if (var_id < 0 || var_id >= MAXVARS) ++ return NULL; ++ p_header = var_ptrs[var_id]; ++ if (p_header->data == NULL) ++ return NULL; ++ return p_header; ++} ++ ++struct st_var_header *var_header_by_name(const char *name) ++{ ++ int i; ++ struct st_var_header *where = NULL; ++ ++ if (name != NULL) { ++ i = 0; ++ while ((i < MAXVARS) && (where == NULL)) { ++ if (strcmp(name, var_ptrs[i]->name) == 0) ++ where = var_ptrs[i]; ++ else ++ i++; ++ } ++ } ++ return where; ++} ++ ++struct var_t *get_var(enum var_id_t var_id) ++{ ++ BUG_ON(var_id < 0 || var_id >= MAXVARS); ++ BUG_ON(! var_ptrs[var_id]); ++ return (var_ptrs[var_id]->data); ++} ++EXPORT_SYMBOL_GPL(get_var); ++ ++struct punc_var_t *get_punc_var(enum var_id_t var_id) ++{ ++ struct punc_var_t *rv = NULL; ++ struct punc_var_t *where; ++ ++ where = punc_vars; ++ while ((where->var_id != -1) && (rv == NULL)) { ++ if (where->var_id == var_id) ++ rv = where; ++ else ++ where++; ++ } ++ return rv; ++} ++ ++/* handlers for setting vars */ ++int set_num_var(int input, struct st_var_header *var, int how) ++{ ++ int val; ++ short ret = 0; ++ int *p_val = var->p_val; ++ int l; ++ char buf[32]; ++ char *cp; ++ struct var_t *var_data = var->data; ++ if (var_data == NULL) ++ return E_UNDEF; ++ if (how == E_DEFAULT) { ++ val = var_data->u.n.default_val; ++ ret = SET_DEFAULT; ++ } else { ++ if (how == E_SET) ++ val = input; ++ else ++ val = var_data->u.n.value; ++ if (how == E_INC) ++ val += input; ++ else if (how == E_DEC) ++ val -= input; ++ if (val < var_data->u.n.low || val > var_data->u.n.high) ++ return E_RANGE; ++ } ++ var_data->u.n.value = val; ++ if (var->var_type == VAR_TIME && p_val != NULL) { ++ *p_val = msecs_to_jiffies(val); ++ return ret; ++ } ++ if (p_val != NULL) ++ *p_val = val; ++ if (var->var_id == PUNC_LEVEL) { ++ punc_mask = punc_masks[val]; ++ return ret; ++ } ++ if (var_data->u.n.multiplier != 0) ++ val *= var_data->u.n.multiplier; ++ val += var_data->u.n.offset; ++ if (var->var_id < FIRST_SYNTH_VAR || synth == NULL) ++ return ret; ++ if (synth->synth_adjust != NULL) { ++ int status = synth->synth_adjust(var); ++ return (status != 0) ? status : ret; ++ } ++ if (!var_data->u.n.synth_fmt) ++ return ret; ++ if (var->var_id == PITCH) ++ cp = pitch_buff; ++ else ++ cp = buf; ++ if (!var_data->u.n.out_str) ++ l = sprintf(cp, var_data->u.n.synth_fmt, (int)val); ++ else ++ l = sprintf(cp, var_data->u.n.synth_fmt, var_data->u.n.out_str[val]); ++ synth_printf("%s", cp); ++ return ret; ++} ++ ++int set_string_var(const char *page, struct st_var_header *var, int len) ++{ ++ int ret = 0; ++ struct var_t *var_data = var->data; ++ if (var_data == NULL) ++ return E_UNDEF; ++ if (len > MAXVARLEN) ++ return -E_TOOLONG; ++ if (!len) { ++ if (!var_data->u.s.default_val) ++ return 0; ++ ret = SET_DEFAULT; ++ if (!var->p_val) ++ var->p_val = var_data->u.s.default_val; ++ if (var->p_val != var_data->u.s.default_val) ++ strcpy((char *)var->p_val, var_data->u.s.default_val); ++ } else if (var->p_val) ++ strcpy((char *)var->p_val, page); ++ else ++ return -E_TOOLONG; ++ return ret; ++} ++ ++/* set_mask_bits sets or clears the punc/delim/repeat bits, ++ * if input is null uses the defaults. ++ * values for how: 0 clears bits of chars supplied, ++ * 1 clears allk, 2 sets bits for chars */ ++int set_mask_bits(const char *input, const int which, const int how) ++{ ++ u_char *cp; ++ short mask = punc_info[which].mask; ++ if (how&1) { ++ for (cp = (u_char *)punc_info[3].value; *cp; cp++) ++ spk_chartab[*cp] &= ~mask; ++ } ++ cp = (u_char *)input; ++ if (cp == 0) ++ cp = punc_info[which].value; ++ else { ++ for ( ; *cp; cp++) { ++ if (*cp < SPACE) ++ break; ++ if (mask < PUNC) { ++ if (!(spk_chartab[*cp]&PUNC)) ++ break; ++ } else if (spk_chartab[*cp]&B_NUM) ++ break; ++ } ++ if (*cp) ++ return -EINVAL; ++ cp = (u_char *)input; ++ } ++ if (how&2) { ++ for ( ; *cp; cp++) ++ if (*cp > SPACE) ++ spk_chartab[*cp] |= mask; ++ } else { ++ for ( ; *cp; cp++) ++ if (*cp > SPACE) ++ spk_chartab[*cp] &= ~mask; ++ } ++ return 0; ++} ++ ++char *strlwr(char *s) ++{ ++ char *p; ++ if (s == NULL) ++ return NULL; ++ ++ for (p = s; *p; p++) ++ *p = tolower(*p); ++ return s; ++} ++ ++char *speakup_s2i(char *start, int *dest) ++{ ++ int val; ++ char ch = *start; ++ if (ch == '-' || ch == '+') ++ start++; ++ if (*start < '0' || *start > '9') ++ return start; ++ val = (*start) - '0'; ++ start++; ++ while (*start >= '0' && *start <= '9') { ++ val *= 10; ++ val += (*start) - '0'; ++ start++; ++ } ++ if (ch == '-') ++ *dest = -val; ++ else ++ *dest = val; ++ return start; ++} ++ ++char *s2uchar(char *start, char *dest) ++{ ++ int val = 0; ++ while (*start && *start <= SPACE) ++ start++; ++ while (*start >= '0' && *start <= '9') { ++ val *= 10; ++ val += (*start) - '0'; ++ start++; ++ } ++ if (*start == ',') ++ start++; ++ *dest = (u_char)val; ++ return start; ++} ++ ++char *xlate(char *s) ++{ ++ static const char finds[] = "nrtvafe"; ++ static const char subs[] = "\n\r\t\013\001\014\033"; ++ static const char hx[] = "0123456789abcdefABCDEF"; ++ char *p = s, *p1, *p2, c; ++ int num; ++ while ((p = strchr(p, '\\'))) { ++ p1 = p+1; ++ p2 = strchr(finds, *p1); ++ if (p2) { ++ *p++ = subs[p2-finds]; ++ p1++; ++ } else if (*p1 >= '0' && *p1 <= '7') { ++ num = (*p1++)&7; ++ while (num < 256 && *p1 >= '0' && *p1 <= '7') { ++ num <<= 3; ++ num = (*p1++)&7; ++ } ++ *p++ = num; ++ } else if (*p1 == 'x' && ++ strchr(hx, p1[1]) && strchr(hx, p1[2])) { ++ p1++; ++ c = *p1++; ++ if (c > '9') ++ c = (c - '7') & 0x0f; ++ else ++ c -= '0'; ++ num = c << 4; ++ c = *p1++; ++ if (c > '9') ++ c = (c-'7')&0x0f; ++ else ++ c -= '0'; ++ num += c; ++ *p++ = num; ++ } else ++ *p++ = *p1++; ++ p2 = p; ++ while (*p1) ++ *p2++ = *p1++; ++ *p2 = '\0'; ++ } ++ return s; ++} diff --git a/patches/features/all/speakup/speakup-kbuild.patch b/patches/features/all/speakup/speakup-kbuild.patch new file mode 100644 index 0000000..aec7a48 --- /dev/null +++ b/patches/features/all/speakup/speakup-kbuild.patch @@ -0,0 +1,28 @@ +From: Ben Hutchings <ben@decadent.org.uk> +Subject: [PATCH] speakup: integrate into kbuild + +--- a/drivers/staging/Kconfig ++++ b/drivers/staging/Kconfig +@@ -126,6 +126,8 @@ + source "drivers/staging/netwave/Kconfig" + + source "drivers/staging/sm7xx/Kconfig" ++ ++source "drivers/staging/speakup/Kconfig" + + endif # !STAGING_EXCLUDE_BUILD + endif # STAGING +--- a/drivers/staging/Makefile ++++ b/drivers/staging/Makefile +@@ -45,3 +45,4 @@ + obj-$(CONFIG_PCMCIA_WAVELAN) += wavelan/ + obj-$(CONFIG_PCMCIA_NETWAVE) += netwave/ + obj-$(CONFIG_FB_SM7XX) += sm7xx/ ++obj-$(CONFIG_SPEAKUP) += speakup/ +--- a/drivers/staging/speakup/Kbuild ++++ b/drivers/staging/speakup/Kbuild +@@ -1,4 +1,3 @@ +-include $M/allmodule.mk + obj-$(CONFIG_SPEAKUP_SYNTH_ACNTSA) += speakup_acntsa.o + obj-$(CONFIG_SPEAKUP_SYNTH_ACNTPC) += speakup_acntpc.o + obj-$(CONFIG_SPEAKUP_SYNTH_APOLLO) += speakup_apollo.o diff --git a/patches/features/all/vserver/bindmount-dev.patch b/patches/features/all/vserver/bindmount-dev.patch deleted file mode 100644 index 2cb2706..0000000 --- a/patches/features/all/vserver/bindmount-dev.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- a/fs/namespace.c 2007-02-07 14:15:28.000000000 +0100 -+++ b/fs/namespace.c 2007-02-08 10:57:40.000000000 +0100 -@@ -988,6 +988,9 @@ static int do_loopback(struct nameidata - if (!mnt) - goto out; - -+ if (!capable(CAP_SYS_ADMIN) && (old_nd.path.mnt->mnt_flags & MNT_NODEV)) -+ mnt_flags |= MNT_NODEV; -+ - err = graft_tree(mnt, &nd->path); - if (err) { - LIST_HEAD(umount_list); -@@ -1030,6 +1033,9 @@ static int do_remount(struct nameidata * - if (nd->path.dentry != nd->path.mnt->mnt_root) - return -EINVAL; - -+ if (!capable(CAP_SYS_ADMIN)) -+ mnt_flags |= MNT_NODEV; -+ - down_write(&sb->s_umount); - if (flags & MS_BIND) - err = change_mount_flags(nd->path.mnt, flags); -@@ -1138,6 +1144,9 @@ static int do_new_mount(struct nameidata - if (!vx_capable(CAP_SYS_ADMIN, VXC_SECURE_MOUNT)) - return -EPERM; - -+ if (!capable(CAP_SYS_ADMIN)) -+ mnt_flags |= MNT_NODEV; -+ - mnt = do_kern_mount(type, flags, name, data); - if (IS_ERR(mnt)) - return PTR_ERR(mnt); -@@ -1489,8 +1498,6 @@ long do_mount(char *dev_name, char *dir_ - if (flags & MS_RDONLY) - mnt_flags |= MNT_READONLY; - -- if (!capable(CAP_SYS_ADMIN)) -- mnt_flags |= MNT_NODEV; - flags &= ~(MS_NOSUID | MS_NOEXEC | MS_NODEV | MS_ACTIVE | - MS_NOATIME | MS_NODIRATIME | MS_RELATIME| MS_KERNMOUNT); - diff --git a/patches/features/alpha/titan-video.patch b/patches/features/alpha/titan-video.patch deleted file mode 100644 index 4c4e9d0..0000000 --- a/patches/features/alpha/titan-video.patch +++ /dev/null @@ -1,720 +0,0 @@ -diff -uNr source/arch/alpha/Kconfig source-es45/arch/alpha/Kconfig ---- source/arch/alpha/Kconfig 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/arch/alpha/Kconfig 2006-09-30 03:14:44.000000000 -0700 -@@ -469,6 +469,11 @@ - depends on ALPHA_GENERIC || ALPHA_PC164 - default y - -+config VGA_HOSE -+ bool "VGA on arbitrary hose" -+ depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL || ALPHA_TSUNAMI -+ default y -+ - config ALPHA_SRM - bool "Use SRM as bootloader" if ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_NAUTILUS || ALPHA_NONAME - default y if ALPHA_JENSEN || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_DP264 || ALPHA_RAWHIDE || ALPHA_EIGER || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL -@@ -626,6 +631,13 @@ - - source "drivers/Kconfig" - -+# DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig -+# but we also need it if VGA_HOSE is set -+config DUMMY_CONSOLE -+ bool -+ depends on VGA_HOSE -+ default y -+ - source "fs/Kconfig" - - source "arch/alpha/oprofile/Kconfig" -diff -uNr source/arch/alpha/kernel/alpha_ksyms.c source-es45/arch/alpha/kernel/alpha_ksyms.c ---- source/arch/alpha/kernel/alpha_ksyms.c 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/arch/alpha/kernel/alpha_ksyms.c 2006-09-30 03:14:44.000000000 -0700 -@@ -206,3 +206,7 @@ - EXPORT_SYMBOL(irongate_ioremap); - EXPORT_SYMBOL(irongate_iounmap); - #endif -+ -+#ifdef CONFIG_VGA_HOSE -+EXPORT_SYMBOL(pci_vga_hose); -+#endif -diff -uNr source/arch/alpha/kernel/console.c source-es45/arch/alpha/kernel/console.c ---- source/arch/alpha/kernel/console.c 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/arch/alpha/kernel/console.c 2006-09-30 03:14:44.000000000 -0700 -@@ -8,17 +8,16 @@ - #include <linux/pci.h> - #include <linux/init.h> - #include <linux/tty.h> -+#include <linux/vt.h> - #include <linux/console.h> - #include <asm/vga.h> - #include <asm/machvec.h> - -+#include "pci_impl.h" -+ - #ifdef CONFIG_VGA_HOSE - --/* -- * Externally-visible vga hose bases -- */ --unsigned long __vga_hose_io_base = 0; /* base for default hose */ --unsigned long __vga_hose_mem_base = 0; /* base for default hose */ -+struct pci_controller *pci_vga_hose = NULL; - - static struct pci_controller * __init - default_vga_hose_select(struct pci_controller *h1, struct pci_controller *h2) -@@ -32,10 +31,7 @@ - void __init - set_vga_hose(struct pci_controller *hose) - { -- if (hose) { -- __vga_hose_io_base = hose->io_space->start; -- __vga_hose_mem_base = hose->mem_space->start; -- } -+ pci_vga_hose = hose; - } - - void __init -@@ -44,18 +40,18 @@ - struct pci_controller *hose = NULL; - struct pci_dev *dev = NULL; - -+ /* Default the select function */ - if (!sel_func) sel_func = (void *)default_vga_hose_select; - -+ /* Find the console VGA device */ - for(dev=NULL; (dev=pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, dev));) { - if (!hose) hose = dev->sysdata; - else hose = sel_func(hose, dev->sysdata); - } - -- /* Did we already inititialize the correct one? */ -- if (conswitchp == &vga_con && -- __vga_hose_io_base == hose->io_space->start && -- __vga_hose_mem_base == hose->mem_space->start) -- return; -+ /* Did we already initialize the correct one? Is there one? */ -+ if (!hose || (conswitchp == &vga_con && pci_vga_hose == hose)) -+ return; - - /* Set the VGA hose and init the new console */ - set_vga_hose(hose); -diff -uNr source/arch/alpha/kernel/core_marvel.c source-es45/arch/alpha/kernel/core_marvel.c ---- source/arch/alpha/kernel/core_marvel.c 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/arch/alpha/kernel/core_marvel.c 2006-09-30 03:14:44.000000000 -0700 -@@ -684,9 +684,6 @@ - /* - * IO map support. - */ -- --#define __marvel_is_mem_vga(a) (((a) >= 0xa0000) && ((a) <= 0xc0000)) -- - void __iomem * - marvel_ioremap(unsigned long addr, unsigned long size) - { -@@ -698,13 +695,9 @@ - unsigned long pfn; - - /* -- * Adjust the addr. -+ * Adjust the address. - */ --#ifdef CONFIG_VGA_HOSE -- if (pci_vga_hose && __marvel_is_mem_vga(addr)) { -- addr += pci_vga_hose->mem_space->start; -- } --#endif -+ FIXUP_MEMADDR_VGA(addr); - - /* - * Find the hose. -@@ -781,7 +774,7 @@ - return (void __iomem *) vaddr; - } - -- return NULL; -+ return (void __iomem *) NULL; - } - - void -@@ -803,8 +796,6 @@ - return (addr & 0xFF000000UL) == 0; - } - --#define __marvel_is_port_vga(a) \ -- (((a) >= 0x3b0) && ((a) < 0x3e0) && ((a) != 0x3b3) && ((a) != 0x3d3)) - #define __marvel_is_port_kbd(a) (((a) == 0x60) || ((a) == 0x64)) - #define __marvel_is_port_rtc(a) (((a) == 0x70) || ((a) == 0x71)) - -@@ -813,7 +804,7 @@ - if (__marvel_is_port_rtc (addr) || __marvel_is_port_kbd(addr)) - ; - #ifdef CONFIG_VGA_HOSE -- else if (__marvel_is_port_vga (addr) && pci_vga_hose) -+ else if (__is_port_vga (addr) && pci_vga_hose) - addr += pci_vga_hose->io_space->start; - #endif - else -diff -uNr source/arch/alpha/kernel/core_titan.c source-es45/arch/alpha/kernel/core_titan.c ---- source/arch/alpha/kernel/core_titan.c 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/arch/alpha/kernel/core_titan.c 2006-09-30 03:14:44.000000000 -0700 -@@ -35,6 +35,17 @@ - } saved_config[4] __attribute__((common)); - - /* -+ * Is PChip 1 present? No need to query it more than once. -+ */ -+static int titan_pchip1_present; -+ -+/* hoseno to index mapping */ -+#define H2I(h) ((((h)&2)>>1)|(((h)&1)<<1)) -+/* index to hoseno mapping */ -+#define I2H(i) ((((i)&2)>>1)|(((i)&1)<<1)) -+ -+ -+/* - * BIOS32-style PCI interface: - */ - -@@ -196,14 +207,14 @@ - titan_pci_tbi(struct pci_controller *hose, dma_addr_t start, dma_addr_t end) - { - titan_pachip *pachip = -- (hose->index & 1) ? TITAN_pachip1 : TITAN_pachip0; -+ (hose->index & 2) ? TITAN_pachip1 : TITAN_pachip0; - titan_pachip_port *port; - volatile unsigned long *csr; - unsigned long value; - - /* Get the right hose. */ - port = &pachip->g_port; -- if (hose->index & 2) -+ if (hose->index & 1) - port = &pachip->a_port; - - /* We can invalidate up to 8 tlb entries in a go. The flush -@@ -238,12 +249,12 @@ - } - - static void __init --titan_init_one_pachip_port(titan_pachip_port *port, int index) -+titan_init_one_pachip_port(titan_pachip_port *port, int hoseno) - { - struct pci_controller *hose; - - hose = alloc_pci_controller(); -- if (index == 0) -+ if (hoseno == 0) - pci_isa_hose = hose; - hose->io_space = alloc_resource(); - hose->mem_space = alloc_resource(); -@@ -258,47 +269,47 @@ - hose->sparse_mem_base = 0; - hose->sparse_io_base = 0; - hose->dense_mem_base -- = (TITAN_MEM(index) & 0xffffffffffUL) | 0x80000000000UL; -+ = (TITAN_MEM(hoseno) & 0xffffffffffUL) | 0x80000000000UL; - hose->dense_io_base -- = (TITAN_IO(index) & 0xffffffffffUL) | 0x80000000000UL; -+ = (TITAN_IO(hoseno) & 0xffffffffffUL) | 0x80000000000UL; - -- hose->config_space_base = TITAN_CONF(index); -- hose->index = index; -+ hose->config_space_base = TITAN_CONF(hoseno); -+ hose->index = H2I(hoseno); - -- hose->io_space->start = TITAN_IO(index) - TITAN_IO_BIAS; -+ hose->io_space->start = TITAN_IO(hoseno) - TITAN_IO_BIAS; - hose->io_space->end = hose->io_space->start + TITAN_IO_SPACE - 1; -- hose->io_space->name = pci_io_names[index]; -+ hose->io_space->name = pci_io_names[hoseno]; - hose->io_space->flags = IORESOURCE_IO; - -- hose->mem_space->start = TITAN_MEM(index) - TITAN_MEM_BIAS; -+ hose->mem_space->start = TITAN_MEM(hoseno) - TITAN_MEM_BIAS; - hose->mem_space->end = hose->mem_space->start + 0xffffffff; -- hose->mem_space->name = pci_mem_names[index]; -+ hose->mem_space->name = pci_mem_names[hoseno]; - hose->mem_space->flags = IORESOURCE_MEM; - - if (request_resource(&ioport_resource, hose->io_space) < 0) -- printk(KERN_ERR "Failed to request IO on hose %d\n", index); -+ printk(KERN_ERR "Failed to request IO on hose %d\n", hoseno); - if (request_resource(&iomem_resource, hose->mem_space) < 0) -- printk(KERN_ERR "Failed to request MEM on hose %d\n", index); -+ printk(KERN_ERR "Failed to request MEM on hose %d\n", hoseno); - - /* - * Save the existing PCI window translations. SRM will - * need them when we go to reboot. - */ -- saved_config[index].wsba[0] = port->wsba[0].csr; -- saved_config[index].wsm[0] = port->wsm[0].csr; -- saved_config[index].tba[0] = port->tba[0].csr; -- -- saved_config[index].wsba[1] = port->wsba[1].csr; -- saved_config[index].wsm[1] = port->wsm[1].csr; -- saved_config[index].tba[1] = port->tba[1].csr; -- -- saved_config[index].wsba[2] = port->wsba[2].csr; -- saved_config[index].wsm[2] = port->wsm[2].csr; -- saved_config[index].tba[2] = port->tba[2].csr; -- -- saved_config[index].wsba[3] = port->wsba[3].csr; -- saved_config[index].wsm[3] = port->wsm[3].csr; -- saved_config[index].tba[3] = port->tba[3].csr; -+ saved_config[hoseno].wsba[0] = port->wsba[0].csr; -+ saved_config[hoseno].wsm[0] = port->wsm[0].csr; -+ saved_config[hoseno].tba[0] = port->tba[0].csr; -+ -+ saved_config[hoseno].wsba[1] = port->wsba[1].csr; -+ saved_config[hoseno].wsm[1] = port->wsm[1].csr; -+ saved_config[hoseno].tba[1] = port->tba[1].csr; -+ -+ saved_config[hoseno].wsba[2] = port->wsba[2].csr; -+ saved_config[hoseno].wsm[2] = port->wsm[2].csr; -+ saved_config[hoseno].tba[2] = port->tba[2].csr; -+ -+ saved_config[hoseno].wsba[3] = port->wsba[3].csr; -+ saved_config[hoseno].wsm[3] = port->wsm[3].csr; -+ saved_config[hoseno].tba[3] = port->tba[3].csr; - - /* - * Set up the PCI to main memory translation windows. -@@ -344,14 +355,14 @@ - static void __init - titan_init_pachips(titan_pachip *pachip0, titan_pachip *pachip1) - { -- int pchip1_present = TITAN_cchip->csc.csr & 1L<<14; -+ titan_pchip1_present = TITAN_cchip->csc.csr & 1L<<14; - - /* Init the ports in hose order... */ - titan_init_one_pachip_port(&pachip0->g_port, 0); /* hose 0 */ -- if (pchip1_present) -+ if (titan_pchip1_present) - titan_init_one_pachip_port(&pachip1->g_port, 1);/* hose 1 */ - titan_init_one_pachip_port(&pachip0->a_port, 2); /* hose 2 */ -- if (pchip1_present) -+ if (titan_pchip1_present) - titan_init_one_pachip_port(&pachip1->a_port, 3);/* hose 3 */ - } - -@@ -366,16 +377,18 @@ - int h = (pu64[30] >> 24) & 0xff; /* console hose # */ - - /* -- * Our hose numbering matches the console's, so just find -+ * Our hose numbering does NOT match the console's, so find - * the right one... - */ - for (hose = hose_head; hose; hose = hose->next) { -- if (hose->index == h) break; -+ if (I2H(hose->index) == h) break; - } - - if (hose) { -- printk("Console graphics on hose %d\n", hose->index); -+ printk("Console graphics on hose %d\n", h); - pci_vga_hose = hose; -+ } else { -+ printk("ERROR: Console graphics hose not found\n"); - } - } - #endif /* CONFIG_VGA_HOSE */ -@@ -406,6 +419,7 @@ - - /* With multiple PCI busses, we play with I/O as physical addrs. */ - ioport_resource.end = ~0UL; -+ iomem_resource.end = ~0UL; - - /* PCI DMA Direct Mapping is 1GB at 2GB. */ - __direct_map_base = 0x80000000; -@@ -441,9 +455,7 @@ - static void - titan_kill_pachips(titan_pachip *pachip0, titan_pachip *pachip1) - { -- int pchip1_present = TITAN_cchip->csc.csr & 1L<<14; -- -- if (pchip1_present) { -+ if (titan_pchip1_present) { - titan_kill_one_pachip_port(&pachip1->g_port, 1); - titan_kill_one_pachip_port(&pachip1->a_port, 3); - } -@@ -474,12 +486,12 @@ - unsigned long *ptes; - unsigned long pfn; - -+#ifdef CONFIG_VGA_HOSE - /* -- * Adjust the addr. -+ * Adjust the address and hose, if necessary. - */ --#ifdef CONFIG_VGA_HOSE -- if (pci_vga_hose && __titan_is_mem_vga(addr)) { -- h = pci_vga_hose->index; -+ if (pci_vga_hose && __is_mem_vga(addr)) { -+ h = I2H(pci_vga_hose->index); - addr += pci_vga_hose->mem_space->start; - } - #endif -@@ -488,7 +500,7 @@ - * Find the hose. - */ - for (hose = hose_head; hose; hose = hose->next) -- if (hose->index == h) -+ if (I2H(hose->index) == h) - break; - if (!hose) - return NULL; -@@ -521,8 +533,10 @@ - * Map it - */ - area = get_vm_area(size, VM_IOREMAP); -- if (!area) -+ if (!area) { -+ printk("ioremap failed... no vm_area...\n"); - return NULL; -+ } - - ptes = hose->sg_pci->ptes; - for (vaddr = (unsigned long)area->addr; -@@ -539,7 +553,7 @@ - if (__alpha_remap_area_pages(vaddr, - pfn << PAGE_SHIFT, - PAGE_SIZE, 0)) { -- printk("FAILED to map...\n"); -+ printk("FAILED to remap_area_pages...\n"); - vfree(area->addr); - return NULL; - } -@@ -551,7 +565,8 @@ - return (void __iomem *) vaddr; - } - -- return NULL; -+ /* Assume a legacy (read: VGA) address, and return appropriately. */ -+ return (void __iomem *)(addr + TITAN_MEM_BIAS); - } - - void -@@ -750,6 +765,7 @@ - if (titan_query_agp(port)) - hosenum = 2; - if (hosenum < 0 && -+ titan_pchip1_present && - titan_query_agp(port = &TITAN_pachip1->a_port)) - hosenum = 3; - -@@ -757,7 +773,7 @@ - * Find the hose the port is on. - */ - for (hose = hose_head; hose; hose = hose->next) -- if (hose->index == hosenum) -+ if (I2H(hose->index) == hosenum) - break; - - if (!hose || !hose->sg_pci) -diff -uNr source/arch/alpha/kernel/core_tsunami.c source-es45/arch/alpha/kernel/core_tsunami.c ---- source/arch/alpha/kernel/core_tsunami.c 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/arch/alpha/kernel/core_tsunami.c 2006-09-30 03:14:44.000000000 -0700 -@@ -349,6 +349,32 @@ - tsunami_pci_tbi(hose, 0, -1); - } - -+static void __init -+tsunami_init_vga_hose(void) -+{ -+#ifdef CONFIG_VGA_HOSE -+ u64 *pu64 = (u64 *)((u64)hwrpb + hwrpb->ctbt_offset); -+ -+ if (pu64[7] == 3) { /* TERM_TYPE == graphics */ -+ struct pci_controller *hose; -+ int h = (pu64[30] >> 24) & 0xff; /* console hose # */ -+ -+ /* -+ * Our hose numbering does NOT match the console's, so find -+ * the right one... -+ */ -+ for (hose = hose_head; hose; hose = hose->next) { -+ if (hose->index == h) break; -+ } -+ -+ if (hose) { -+ printk("Console graphics on hose %d\n", h); -+ pci_vga_hose = hose; -+ } -+ } -+#endif /* CONFIG_VGA_HOSE */ -+} -+ - void __init - tsunami_init_arch(void) - { -@@ -393,6 +419,9 @@ - tsunami_init_one_pchip(TSUNAMI_pchip0, 0); - if (TSUNAMI_cchip->csc.csr & 1L<<14) - tsunami_init_one_pchip(TSUNAMI_pchip1, 1); -+ -+ /* Check for graphic console location (if any). */ -+ tsunami_init_vga_hose(); - } - - static void -diff -uNr source/arch/alpha/kernel/proto.h source-es45/arch/alpha/kernel/proto.h ---- source/arch/alpha/kernel/proto.h 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/arch/alpha/kernel/proto.h 2006-09-30 03:14:44.000000000 -0700 -@@ -106,6 +106,9 @@ - extern unsigned long wildfire_node_mem_start(int); - extern unsigned long wildfire_node_mem_size(int); - -+/* console.c */ -+ extern void locate_and_init_vga(void *(*)(void *, void *)); -+ - /* setup.c */ - extern unsigned long srm_hae; - extern int boot_cpuid; -diff -uNr source/arch/alpha/kernel/setup.c source-es45/arch/alpha/kernel/setup.c ---- source/arch/alpha/kernel/setup.c 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/arch/alpha/kernel/setup.c 2006-09-30 03:14:44.000000000 -0700 -@@ -787,9 +787,9 @@ - static int rawhide_indices[] = {0,0,0,1,1,2,2,3,3,4,4}; - - static char titan_names[][16] = { -- "DEFAULT", "Privateer", "Falcon", "Granite" -+ "DEFAULT", "Privateer", "Falcon", "Granite", "HyperBrick2" - }; --static int titan_indices[] = {0,1,2,2,3}; -+static int titan_indices[] = {0,1,2,2,3,4}; - - static char tsunami_names[][16] = { - "0", "DP264", "Warhol", "Windjammer", "Monet", "Clipper", -@@ -891,6 +891,7 @@ - &privateer_mv, /* privateer */ - &titan_mv, /* falcon */ - &privateer_mv, /* granite */ -+ &titan_mv, /* hyperbrick2 */ - }; - - static struct alpha_machine_vector *tsunami_vecs[] __initdata = -diff -uNr source/arch/alpha/kernel/sys_dp264.c source-es45/arch/alpha/kernel/sys_dp264.c ---- source/arch/alpha/kernel/sys_dp264.c 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/arch/alpha/kernel/sys_dp264.c 2006-09-30 03:14:44.000000000 -0700 -@@ -42,6 +42,14 @@ - /* dp264 boards handle at max four CPUs */ - static unsigned long cpu_irq_affinity[4] = { 0UL, 0UL, 0UL, 0UL }; - -+#ifdef CONFIG_VGA_HOSE -+extern void locate_and_init_vga(void *(*handler)(void *, void *)); -+#else -+static inline void locate_and_init_vga(void *(*handler)(void *, void *)) -+{ -+} -+#endif -+ - DEFINE_SPINLOCK(dp264_irq_lock); - - static void -@@ -543,6 +551,7 @@ - { - common_init_pci(); - SMC669_Init(0); -+ locate_and_init_vga(NULL); - } - - static void __init -@@ -551,6 +560,14 @@ - common_init_pci(); - SMC669_Init(1); - es1888_init(); -+ locate_and_init_vga(NULL); -+} -+ -+static void __init -+clipper_init_pci(void) -+{ -+ common_init_pci(); -+ locate_and_init_vga(NULL); - } - - static void __init -@@ -655,7 +672,7 @@ - .init_arch = tsunami_init_arch, - .init_irq = clipper_init_irq, - .init_rtc = common_init_rtc, -- .init_pci = common_init_pci, -+ .init_pci = clipper_init_pci, - .kill_arch = tsunami_kill_arch, - .pci_map_irq = clipper_map_irq, - .pci_swizzle = common_swizzle, -diff -uNr source/drivers/video/console/vgacon.c source-es45/drivers/video/console/vgacon.c ---- source/drivers/video/console/vgacon.c 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/drivers/video/console/vgacon.c 2006-09-30 03:14:44.000000000 -0700 -@@ -52,6 +52,11 @@ - #include <video/vga.h> - #include <asm/io.h> - -+/* wait until after includes to test for this, to allow arch-specific mod. */ -+#ifndef vga_request_resource -+# define vga_request_resource request_resource -+#endif -+ - static DEFINE_SPINLOCK(vga_lock); - static int cursor_size_lastfrom; - static int cursor_size_lastto; -@@ -393,7 +398,7 @@ - vga_video_type = VIDEO_TYPE_EGAM; - vga_vram_size = 0x8000; - display_desc = "EGA+"; -- request_resource(&ioport_resource, -+ vga_request_resource(&ioport_resource, - &ega_console_resource); - } else { - static struct resource mda1_console_resource = -@@ -403,9 +408,9 @@ - vga_video_type = VIDEO_TYPE_MDA; - vga_vram_size = 0x2000; - display_desc = "*MDA"; -- request_resource(&ioport_resource, -+ vga_request_resource(&ioport_resource, - &mda1_console_resource); -- request_resource(&ioport_resource, -+ vga_request_resource(&ioport_resource, - &mda2_console_resource); - vga_video_font_height = 14; - } -@@ -425,14 +430,14 @@ - = { .name = "ega", .start = 0x3C0, .end = 0x3DF }; - vga_video_type = VIDEO_TYPE_EGAC; - display_desc = "EGA"; -- request_resource(&ioport_resource, -+ vga_request_resource(&ioport_resource, - &ega_console_resource); - } else { - static struct resource vga_console_resource - = { .name = "vga+", .start = 0x3C0, .end = 0x3DF }; - vga_video_type = VIDEO_TYPE_VGAC; - display_desc = "VGA+"; -- request_resource(&ioport_resource, -+ vga_request_resource(&ioport_resource, - &vga_console_resource); - - #ifdef VGA_CAN_DO_64KB -@@ -477,7 +482,7 @@ - vga_video_type = VIDEO_TYPE_CGA; - vga_vram_size = 0x2000; - display_desc = "*CGA"; -- request_resource(&ioport_resource, -+ vga_request_resource(&ioport_resource, - &cga_console_resource); - vga_video_font_height = 8; - } -diff -uNr source/include/asm-alpha/core_titan.h source-es45/include/asm-alpha/core_titan.h ---- source/include/asm-alpha/core_titan.h 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/include/asm-alpha/core_titan.h 2006-09-30 03:14:44.000000000 -0700 -@@ -3,6 +3,7 @@ - - #include <linux/types.h> - #include <linux/pci.h> -+#include <asm/pci.h> - #include <asm/compiler.h> - - /* -@@ -383,6 +384,7 @@ - - __EXTERN_INLINE void __iomem *titan_ioportmap(unsigned long addr) - { -+ FIXUP_IOADDR_VGA(addr); - return (void __iomem *)(addr + TITAN_IO_BIAS); - } - -diff -uNr source/include/asm-alpha/core_tsunami.h source-es45/include/asm-alpha/core_tsunami.h ---- source/include/asm-alpha/core_tsunami.h 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/include/asm-alpha/core_tsunami.h 2006-09-30 03:14:44.000000000 -0700 -@@ -2,6 +2,8 @@ - #define __ALPHA_TSUNAMI__H__ - - #include <linux/types.h> -+#include <linux/pci.h> -+#include <asm/pci.h> - #include <asm/compiler.h> - - /* -@@ -305,12 +307,14 @@ - - __EXTERN_INLINE void __iomem *tsunami_ioportmap(unsigned long addr) - { -+ FIXUP_IOADDR_VGA(addr); - return (void __iomem *)(addr + TSUNAMI_IO_BIAS); - } - - __EXTERN_INLINE void __iomem *tsunami_ioremap(unsigned long addr, - unsigned long size) - { -+ FIXUP_MEMADDR_VGA(addr); - return (void __iomem *)(addr + TSUNAMI_MEM_BIAS); - } - -diff -uNr source/include/asm-alpha/io.h source-es45/include/asm-alpha/io.h ---- source/include/asm-alpha/io.h 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/include/asm-alpha/io.h 2006-09-30 03:14:44.000000000 -0700 -@@ -126,6 +126,30 @@ - return (long)address <= 0 ? NULL : virt; - } - -+#ifdef CONFIG_VGA_HOSE -+extern struct pci_controller *pci_vga_hose; -+ -+# define __is_port_vga(a) \ -+ (((a) >= 0x3b0) && ((a) < 0x3e0) && \ -+ ((a) != 0x3b3) && ((a) != 0x3d3)) -+ -+# define __is_mem_vga(a) \ -+ (((a) >= 0xa0000) && ((a) <= 0xc0000)) -+ -+# define FIXUP_IOADDR_VGA(a) do { \ -+ if (pci_vga_hose && __is_port_vga(a)) \ -+ a += pci_vga_hose->io_space->start; \ -+ } while(0) -+ -+# define FIXUP_MEMADDR_VGA(a) do { \ -+ if (pci_vga_hose && __is_mem_vga(a)) \ -+ a += pci_vga_hose->io_space->start; \ -+ } while(0) -+ -+#else /* CONFIG_VGA_HOSE */ -+# define FIXUP_IOADDR_VGA(a) -+#endif /* CONFIG_VGA_HOSE */ -+ - /* - * There are different chipsets to interface the Alpha CPUs to the world. - */ -diff -uNr source/include/asm-alpha/vga.h source-es45/include/asm-alpha/vga.h ---- source/include/asm-alpha/vga.h 2006-09-19 20:42:06.000000000 -0700 -+++ source-es45/include/asm-alpha/vga.h 2006-09-30 03:14:44.000000000 -0700 -@@ -48,4 +48,26 @@ - - #define VGA_MAP_MEM(x,s) ((unsigned long) ioremap(x, s)) - -+#ifdef CONFIG_VGA_HOSE -+#include <linux/ioport.h> -+#include <linux/pci.h> -+ -+extern struct pci_controller *pci_vga_hose; -+ -+#define vga_request_resource alpha_vga_request_resource -+ -+static int inline -+alpha_vga_request_resource(struct resource *root, struct resource *new) -+{ -+ /* First, fixup the VGA resource bounds WRT the hose it is on. */ -+ if (pci_vga_hose) { -+ new->start += pci_vga_hose->io_space->start; -+ new->end += pci_vga_hose->io_space->start; -+ } -+ -+ /* Finally, do a normal request_resource(). */ -+ return request_resource(root, new); -+} -+#endif /* CONFIG_VGA_HOSE */ -+ - #endif diff --git a/patches/features/arm/compression-add-lzma.patch b/patches/features/arm/compression-add-lzma.patch new file mode 100644 index 0000000..4318ad2 --- /dev/null +++ b/patches/features/arm/compression-add-lzma.patch @@ -0,0 +1,42 @@ +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig +@@ -19,6 +19,7 @@ config ARM + select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) + select HAVE_GENERIC_DMA_COHERENT + select HAVE_KERNEL_GZIP ++ select HAVE_KERNEL_LZMA + select HAVE_KERNEL_LZO + help + The ARM series is a line of low-power-consumption RISC chip designs +--- a/arch/arm/boot/compressed/Makefile ++++ b/arch/arm/boot/compressed/Makefile +@@ -64,6 +64,7 @@ endif + SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/ + + suffix_$(CONFIG_KERNEL_GZIP) = gzip ++suffix_$(CONFIG_KERNEL_LZMA) = lzma + suffix_$(CONFIG_KERNEL_LZO) = lzo + + targets := vmlinux vmlinux.lds \ +--- a/arch/arm/boot/compressed/misc.c ++++ b/arch/arm/boot/compressed/misc.c +@@ -237,6 +237,10 @@ static unsigned long free_mem_end_ptr; + #include "../../../../lib/decompress_inflate.c" + #endif + ++#ifdef CONFIG_KERNEL_LZMA ++#include "../../../../lib/decompress_unlzma.c" ++#endif ++ + #ifdef CONFIG_KERNEL_LZO + #include "../../../../lib/decompress_unlzo.c" + #endif +--- /dev/null ++++ b/arch/arm/boot/compressed/piggy.lzma.S +@@ -0,0 +1,6 @@ ++ .section .piggydata,#alloc ++ .globl input_data ++input_data: ++ .incbin "arch/arm/boot/compressed/piggy.lzma" ++ .globl input_data_end ++input_data_end: diff --git a/patches/features/arm/openrd-client.patch b/patches/features/arm/openrd-client.patch new file mode 100644 index 0000000..592638a --- /dev/null +++ b/patches/features/arm/openrd-client.patch @@ -0,0 +1,135 @@ +--- a/arch/arm/mach-kirkwood/Kconfig 2009-09-25 19:49:01.000000000 +0000 ++++ b/arch/arm/mach-kirkwood/Kconfig 2009-09-25 19:50:08.000000000 +0000 +@@ -52,6 +52,12 @@ + Say 'Y' here if you want your kernel to support the + Marvell OpenRD Base Board. + ++config MACH_OPENRD_CLIENT ++ bool "Marvell OpenRD Client Board" ++ help ++ Say 'Y' here if you want your kernel to support the ++ Marvell OpenRD Client Board. ++ + config MACH_NETSPACE_V2 + bool "LaCie Network Space v2 NAS Board" + help +--- a/arch/arm/mach-kirkwood/Makefile 2009-09-25 19:49:07.000000000 +0000 ++++ b/arch/arm/mach-kirkwood/Makefile 2009-09-25 19:49:29.000000000 +0000 +@@ -8,6 +8,7 @@ + obj-$(CONFIG_MACH_TS219) += ts219-setup.o + obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o + obj-$(CONFIG_MACH_OPENRD_BASE) += openrd_base-setup.o ++obj-$(CONFIG_MACH_OPENRD_CLIENT) += openrd_client-setup.o + obj-$(CONFIG_MACH_NETSPACE_V2) += netspace_v2-setup.o + + obj-$(CONFIG_CPU_IDLE) += cpuidle.o +--- /dev/null 2008-06-15 07:07:41.000000000 +0000 ++++ b/arch/arm/mach-kirkwood/openrd_client-setup.c 2009-09-25 19:52:36.000000000 +0000 +@@ -0,0 +1,107 @@ ++/* ++ * arch/arm/mach-kirkwood/openrd_client-setup.c ++ * ++ * Marvell OpenRD Base Client Setup ++ * ++ * This file is licensed under the terms of the GNU General Public ++ * License version 2. This program is licensed "as is" without any ++ * warranty of any kind, whether express or implied. ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/init.h> ++#include <linux/platform_device.h> ++#include <linux/mtd/partitions.h> ++#include <linux/ata_platform.h> ++#include <linux/mv643xx_eth.h> ++#include <linux/gpio.h> ++#include <asm/mach-types.h> ++#include <asm/mach/arch.h> ++#include <mach/kirkwood.h> ++#include <plat/mvsdio.h> ++#include "common.h" ++#include "mpp.h" ++ ++static struct mtd_partition openrd_client_nand_parts[] = { ++ { ++ .name = "u-boot", ++ .offset = 0, ++ .size = SZ_1M ++ }, { ++ .name = "uImage", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = SZ_4M ++ }, { ++ .name = "root", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = MTDPART_SIZ_FULL ++ }, ++}; ++ ++static struct mv643xx_eth_platform_data openrd_client_ge00_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(8), ++}; ++ ++static struct mv643xx_eth_platform_data openrd_client_ge01_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(24), ++}; ++ ++static struct mv_sata_platform_data openrd_client_sata_data = { ++ .n_ports = 2, ++}; ++ ++static struct mvsdio_platform_data openrd_client_mvsdio_data = { ++ .gpio_card_detect = 29, /* MPP29 used as SD card detect */ ++}; ++ ++static unsigned int openrd_client_mpp_config[] __initdata = { ++ MPP29_GPIO, ++ 0 ++}; ++ ++static void __init openrd_client_init(void) ++{ ++ /* ++ * Basic setup. Needs to be called early. ++ */ ++ kirkwood_init(); ++ kirkwood_mpp_conf(openrd_client_mpp_config); ++ ++ kirkwood_uart0_init(); ++ kirkwood_uart1_init(); ++ kirkwood_nand_init(ARRAY_AND_SIZE(openrd_client_nand_parts), 25); ++ ++ kirkwood_ehci_init(); ++ ++ /* initialize gbe0 and gbe1 */ ++ kirkwood_ge00_init(&openrd_client_ge00_data); ++ kirkwood_ge01_init(&openrd_client_ge01_data); ++ ++ kirkwood_sata_init(&openrd_client_sata_data); ++ kirkwood_sdio_init(&openrd_client_mvsdio_data); ++ ++ kirkwood_i2c_init(); ++} ++ ++static int __init openrd_client_pci_init(void) ++{ ++if (machine_is_openrd_client()) ++ kirkwood_pcie_init(); ++ ++ return 0; ++} ++subsys_initcall(openrd_client_pci_init); ++ ++ ++ ++ ++MACHINE_START(OPENRD_CLIENT, "Marvell OpenRD Client Board") ++ /* Maintainer: Dhaval Vasa <dhaval.vasa@einfochips.com> */ ++ .phys_io = KIRKWOOD_REGS_PHYS_BASE, ++ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, ++ .boot_params = 0x00000100, ++ .init_machine = openrd_client_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END diff --git a/patches/features/sparc/video-sunxvr500-intergraph.patch b/patches/features/sparc/video-sunxvr500-intergraph.patch index f56431d..dc03e60 100644 --- a/patches/features/sparc/video-sunxvr500-intergraph.patch +++ b/patches/features/sparc/video-sunxvr500-intergraph.patch @@ -5,19 +5,7 @@ diff -aur a/drivers/video/sunxvr500.c b/drivers/video/sunxvr500.c static struct pci_device_id e3d_pci_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_3DLABS, 0x7a0), }, -+ { PCI_DEVICE(PCI_VENDOR_ID_IGRAPH, 0x7a0), }, ++ { PCI_DEVICE(0x1091, 0x7a0), }, { PCI_DEVICE(PCI_VENDOR_ID_3DLABS, 0x7a2), }, { .vendor = PCI_VENDOR_ID_3DLABS, .device = PCI_ANY_ID, -diff -aur a/include/linux/pci_ids.h b/include/linux/pci_ids.h ---- a/include/linux/pci_ids.h 2008-11-20 18:02:37.000000000 -0500 -+++ b/include/linux/pci_ids.h 2008-12-01 15:43:04.000000000 -0500 -@@ -930,6 +930,8 @@ - #define PCI_DEVICE_ID_SUN_TOMATILLO 0xa801 - #define PCI_DEVICE_ID_SUN_CASSINI 0xabba - -+#define PCI_VENDOR_ID_IGRAPH 0x1091 -+ - #define PCI_VENDOR_ID_CMD 0x1095 - #define PCI_DEVICE_ID_CMD_643 0x0643 - #define PCI_DEVICE_ID_CMD_646 0x0646 diff --git a/patches/series/base b/patches/series/base index 4f33e03..1734d9d 100644 --- a/patches/series/base +++ b/patches/series/base @@ -6,27 +6,51 @@ + debian/drivers-ata-ata_piix-postpone-pata.patch + debian/drivers-ata-pata_sis-postpone-pata.patch -+ features/all/drivers-gpu-drm-mga-request_firmware.patch -+ features/all/drivers-gpu-drm-r128-request_firmware.patch -+ features/all/drivers-gpu-drm-radeon-request_firmware.patch -+ features/all/drivers-net-cxgb3-request_firmware.patch -# rt2860sta and rt2870sta need ITU-T CRC on bit-reversed data -+ features/all/lib-crcitut-bit-reversed.patch -+ features/all/drivers-staging-rt28x0sta-request_firmware.patch -+ features/all/export-unionfs-symbols.patch - -+ bugfix/sparc/drivers_net-broken.patch ++ features/all/drivers-infiniband-hw-ipath-iba7220-use-request_firmware.patch ++ features/all/drivers-media-dvb-usb-af9005-request_firmware.patch + ++ features/all/rt28x0sta-constify-RTUSBMultiWrite-RTUSBFirmwareWrite.patch ++ features/all/rt28x0sta-use-request_firmware.patch ++ features/all/lgs8gxx-lgs8g75-request_firmware.patch ++ features/all/r8169-rtl8168d-1-2-request_firmware-2.patch ++ features/all/sound-pci-cs46xx-request_firmware.patch + ++ features/all/module-firmware/0025-tty-declare-MODULE_FIRMWARE-in-various-drivers.patch ++ features/all/module-firmware/0026-staging-declare-MODULE_FIRMWARE-in-various-drivers.patch ++ features/all/module-firmware/0027-sep-include-driver-name-in-firmware-filenames.patch ++ features/all/module-firmware/0028-sep-declare-MODULE_FIRMWARE.patch ++ features/all/module-firmware/0029-isight-firmware-declare-MODULE_FIRMWARE.patch + +# FIXME: 2.6.33 tree +# patches from aufs2 repository, with s/EXPORT_SYMBOL/&_GPL/ + +# content of src/ from speakup package; generated with: +# diff -ur --unidirectional-new-file nonexistent src | filterdiff --strip=1 --addoldprefix=a/drivers/staging/speakup/ --addnewprefix=b/drivers/staging/speakup/ ++ features/all/speakup/speakup-add.patch ++ features/all/speakup/speakup-kbuild.patch + #+ bugfix/ia64/hardcode-arch-script-output.patch + bugfix/mips/disable-advansys.patch + bugfix/arm/disable-scsi_acard.patch + bugfix/mips/disable-werror.patch -+ bugfix/fix-hifn_795X-divdi3.patch -+ bugfix/powerpc/mm-mol.patch + bugfix/powerpc/lpar-console.patch #+ bugfix/all/wireless-regulatory-default-EU.patch -#+ features/sparc/video-sunxvr500-intergraph.patch -#+ bugfix/sparc/arch-zimage-target.patch -### stuff that will hopefully be fixed in the next rc -#+ bugfix/arm/export-flush_dcache_page.patch -+ bugfix/all/add-missing-mtd-include.patch -+ bugfix/mips/fix-smp.patch ++ features/sparc/video-sunxvr500-intergraph.patch ++ bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch ++ debian/dfsg/radeon-add-clarifying-comment-to-r600-blit.patch ++ features/arm/compression-add-lzma.patch ++ features/arm/openrd-client.patch + ++ features/all/i915-autoload-without-CONFIG_DRM_I915_KMS.patch + ++ bugfix/ia64/ia64-Include-linux-personality.h-header-in-asm-fcntl.patch + ++ bugfix/all/cxusb-Select-all-required-frontend-and-tuner-modules.patch + ++ bugfix/x86/kvm-fix-memory-access-during-x86-emulation.patch ++ bugfix/x86/kvm-Check-IOPL-level-during-io-instruction-emulation.patch ++ bugfix/x86/kvm-Fix-popf-emulation.patch ++ bugfix/x86/kvm-Check-CPL-level-during-privilege-instruction-emulation.patch + ++ debian/sysrq-mask.patch ++ bugfix/all/efifb_fix_v2.patch diff --git a/patches/series/base-extra b/patches/series/base-extra index d1b7933..8b13789 100644 --- a/patches/series/base-extra +++ b/patches/series/base-extra @@ -1,4 +1 @@ -#+ features/all/openvz/openvz.patch featureset=openvz -#+ features/all/vserver/vs2.3.0.35.patch featureset=vserver -+ features/all/vserver/bindmount-dev.patch featureset=vserver diff --git a/patches/series/orig-0 b/patches/series/orig-0 index 2d64f0c..19f74f4 100644 --- a/patches/series/orig-0 +++ b/patches/series/orig-0 @@ -1,15 +1,15 @@ + debian/dfsg/arch-powerpc-platforms-8xx-ucode-disable.patch -+ debian/dfsg/drivers-gpu-drm-mga-disable.patch -+ debian/dfsg/drivers-gpu-drm-r128-disable.patch -+ debian/dfsg/drivers-gpu-drm-radeon-disable.patch ++ debian/dfsg/drivers-media-dvb-dvb-usb-af9005-disable.patch ++ debian/dfsg/drivers-infiniband-hw-ipath-iba7220-disable.patch + debian/dfsg/drivers-net-appletalk-cops.patch -+ debian/dfsg/drivers-net-cxgb3-disable.patch -+ debian/dfsg/drivers-staging-me4000-disable.patch + debian/dfsg/drivers-staging-otus-disable.patch + debian/dfsg/drivers-staging-rt2860-disable.patch + debian/dfsg/drivers-staging-rt2870-disable.patch -+ debian/dfsg/drivers-staging-rt3070-disable.patch + debian/dfsg/drivers-staging-rtl8192su-disable.patch ++ debian/dfsg/drivers-staging-wlags49_h2-disable.patch ++ debian/dfsg/drivers-staging-wlags49_h25-disable.patch + debian/dfsg/firmware-cleanup.patch ++ debian/dfsg/lgs8gxx-lgs8g75-disable.patch ++ debian/dfsg/r8169-rtl8168d-1-2-disable.patch + debian/dfsg/sound-pci.patch X debian/dfsg/files-1 @@ -11,6 +11,8 @@ include debian/rules.defs stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@ +.NOTPARALLEL: + source: debian/control $(STAMPS_DIR)/source-base $(STAMPS_DIR)/source-base: dh_testdir @@ -19,6 +19,9 @@ include debian/rules.defs stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@ +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + DEBIAN_KERNEL_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +endif ifdef DEBIAN_KERNEL_JOBS JOBS_ARG = -j$(DEBIAN_KERNEL_JOBS) endif @@ -46,8 +49,8 @@ binary-indep: install-manual binary-indep: install-patch binary-indep: install-source binary-indep: install-support -binary-indep: install-tree binary-indep: install-firmware +#binary-indep: install-linux-base build: $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE) @@ -108,8 +111,8 @@ else echo 'override CROSS_COMPILE = $$(DEB_HOST_GNU_TYPE)-' >> '$(DIR)/.kernelvariables' echo 'endif' >> '$(DIR)/.kernelvariables' endif -ifdef CFLAGS - echo 'CFLAGS += $(CFLAGS)' >> '$(DIR)/.kernelvariables' +ifdef CFLAGS_KERNEL + echo 'CFLAGS += $(CFLAGS_KERNEL)' >> '$(DIR)/.kernelvariables' endif +$(MAKE_CLEAN) -C '$(SOURCE_DIR)' O='$(CURDIR)/$(DIR)' reportoldconfig +$(MAKE_CLEAN) -C '$(SOURCE_DIR)' O='$(CURDIR)/$(DIR)' $(JOBS_ARG) prepare @@ -174,12 +177,6 @@ install-manual: $(STAMPS_DIR)/build-doc find $(DIR)/Documentation/DocBook/man/ -name '*.9' | xargs dh_installman +$(MAKE_SELF) install-base -install-dummy: - dh_testdir - dh_testroot - dh_prep - +$(MAKE_SELF) install-base - install-headers_$(ARCH): PACKAGE_NAMES = linux-headers-$(UPSTREAMVERSION)$(ABINAME)-all linux-headers-$(UPSTREAMVERSION)$(ABINAME)-all-$(ARCH) install-headers_$(ARCH): DH_OPTIONS = $(foreach p, $(PACKAGE_NAMES), -p$(p)) install-headers_$(ARCH): @@ -203,14 +200,18 @@ install-headers_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET echo Makefile; \ find arch/$(KERNEL_ARCH) -maxdepth 1 -name 'Makefile*' -print; \ find arch/$(KERNEL_ARCH) -name 'module.lds' -print; \ - find arch/$(KERNEL_ARCH)/include -print; \ + find $$(find arch/$(KERNEL_ARCH) -name include -type d -print) -print; \ find include -name 'asm*' -prune -o -print; \ find include/asm-generic -print; \ ) \ | \ cpio -pd --preserve-modification-time '$(CURDIR)/$(DIR)' - ln -s ../$(PACKAGE_NAME_KBUILD)/{Kbuild,scripts} $(DIR) + ln -s /usr/lib/$(PACKAGE_NAME_KBUILD)/{Kbuild,scripts} $(DIR) + if [ -d $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/scripts ]; then \ + ln -s /usr/lib/$(PACKAGE_NAME_KBUILD)/arch/$(KERNEL_ARCH)/scripts \ + $(DIR)/arch/$(KERNEL_ARCH); \ + fi +$(MAKE_SELF) install-base @@ -255,7 +256,7 @@ endif @echo '$$(cmd) %/: all' >> $(DIR)/Makefile @echo ' @:' >> $(DIR)/Makefile - ln -s ../$(PACKAGE_NAME_KBUILD)/scripts $(DIR) + ln -s /usr/lib/$(PACKAGE_NAME_KBUILD)/scripts $(DIR) mkdir -p $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION) ln -s /usr/src/$(PACKAGE_NAME) $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/build @@ -274,14 +275,18 @@ install-libc-dev_$(ARCH): dh_prep rm -rf '$(DIR)' mkdir $(DIR) - +$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_check ARCH=$(LIBC_DEV_ARCH) - +$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_install ARCH=$(LIBC_DEV_ARCH) INSTALL_HDR_PATH='$(CURDIR)'/$(OUT_DIR) + +$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_check ARCH=$(KERNEL_ARCH) + +$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_install ARCH=$(KERNEL_ARCH) INSTALL_HDR_PATH='$(CURDIR)'/$(OUT_DIR) + + rm -rf $(OUT_DIR)/include/scsi + find $(OUT_DIR)/include \( -name .install -o -name ..install.cmd \) -execdir rm {} + + +$(MAKE_SELF) install-base install-support: PACKAGE_NAME = linux-support-$(UPSTREAMVERSION)$(ABINAME) install-support: DH_OPTIONS = -p$(PACKAGE_NAME) install-support: PACKAGE_DIR = debian/$(PACKAGE_NAME) -install-support: PACKAGE_ROOT = /usr/src/$(PACKAGE_NAME) +install-support: PACKAGE_ROOT = /usr/share/$(PACKAGE_NAME) install-support: dh_testdir dh_testroot @@ -291,7 +296,8 @@ install-support: cp debian/lib/python/debian_linux/*.py $(PACKAGE_DIR)$(PACKAGE_ROOT)/lib/python/debian_linux cp debian/modules/* $(PACKAGE_DIR)$(PACKAGE_ROOT)/modules chmod a+x $(PACKAGE_DIR)$(PACKAGE_ROOT)/modules/gencontrol.py - dh_pycentral /usr/src/$(PACKAGE_NAME)/lib/python + dh_pysupport + dh_link $(PACKAGE_ROOT) /usr/src/$(PACKAGE_NAME) +$(MAKE_SELF) install-base install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): REAL_VERSION = $(UPSTREAMVERSION)$(ABINAME)$(LOCALVERSION) @@ -327,7 +333,8 @@ endif install-image_arm_$(FEATURESET)_$(FLAVOUR)_plain_image \ install-image_armel_$(FEATURESET)_$(FLAVOUR)_plain_image \ -install-image_sparc_$(FEATURESET)_$(FLAVOUR)_plain_image: +install-image_sparc_$(FEATURESET)_$(FLAVOUR)_plain_image \ +install-image_sparc64_$(FEATURESET)_$(FLAVOUR)_plain_image: install -m644 '$(DIR)/arch/$(KERNEL_ARCH)/boot/zImage' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION) install-image_amd64_$(FEATURESET)_$(FLAVOUR)_plain_image \ @@ -366,6 +373,7 @@ install-image_mips_$(FEATURESET)_$(FLAVOUR)_plain_templates \ install-image_mipsel_$(FEATURESET)_$(FLAVOUR)_plain_templates \ install-image_powerpc_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_KIMAGE = vmlinux +install-image_ia64_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_BOOTLOADER = elilo install-image_mips_$(FEATURESET)_r4k-ip22_plain_templates: ARG_BOOTLOADER = arcboot install-image_mips_$(FEATURESET)_r5k-ip32_plain_templates: ARG_BOOTLOADER = arcboot install-image_s390_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_BOOTLOADER = zipl @@ -375,7 +383,6 @@ install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: for i in $(wildcard debian/templates/temp.image.plain/*); do \ sed \ -e 's,=D,/boot,g' \ - -e 's/=OF/YES/g' \ -e 's/=ST/linux/g' \ -e 's@=A@$(DEB_HOST_ARCH)@g' \ -e 's@=B@$(KERNEL_ARCH)@g' \ @@ -386,12 +393,10 @@ install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: -e 's@=MK@$(INITRD_CMD)@g' \ -e 's/=V/$(REAL_VERSION)/g' \ -e 's/=M//g' \ - -e 's/=MD//g' \ - -e 's/=R//g' \ -e 's/=S//g' \ $$i > $(PACKAGE_DIR)/DEBIAN/$$(basename $$i); \ done - chmod 755 $(PACKAGE_DIR)/DEBIAN/{config,{pre,post}*} + chmod 755 $(PACKAGE_DIR)/DEBIAN/{pre,post}* chmod 644 $(PACKAGE_DIR)/DEBIAN/templates install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug: @@ -436,23 +441,19 @@ install-patch: dh_testdir dh_testroot dh_prep - dh_installdirs $(DH_OPTIONS) '$(pbase)/apply' '$(pbase)/debian' '$(pbase)/unpatch' - dh_install $(DH_OPTIONS) debian/patches/* '$(pbase)/debian' + dh_installdirs '$(pbase)/apply' '$(pbase)/debian' '$(pbase)/unpatch' + dh_install debian/patches/* '$(pbase)/debian' install debian/bin/patch.apply '$(pfull)/apply/debian' install debian/templates/patch.unpatch '$(pfull)/unpatch/debian' find '$(pfull)/debian' ! -path '*/series/*' -type f -execdir bzip2 '{}' ';' -execdir chmod 644 '{}.bz2' ';' - +$(MAKE_SELF) install-base DH_OPTIONS='$(DH_OPTIONS)' + +$(MAKE_SELF) install-base install-source: DH_OPTIONS = -plinux-source-$(VERSION) install-source: $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2 dh_testdir dh_testroot - dh_install $(DH_OPTIONS) '$<' /usr/src - +$(MAKE_SELF) install-base DH_OPTIONS='$(DH_OPTIONS)' - -install-tree: DH_OPTIONS = -plinux-tree-$(VERSION) -install-tree: - +$(MAKE_SELF) install-dummy DH_OPTIONS='$(DH_OPTIONS)' + dh_install '$<' /usr/src + +$(MAKE_SELF) install-base install-firmware: PACKAGE_NAME = firmware-linux-free install-firmware: DIR = $(BUILD_DIR)/build-firmware @@ -466,6 +467,15 @@ install-firmware: $(STAMPS_DIR)/source rm -rf '$(DIR)' mkdir '$(DIR)' +$(MAKE_CLEAN) -C '$(SOURCE_DIR)' O='$(CURDIR)/$(DIR)' INSTALL_MOD_PATH='$(CURDIR)'/$(PACKAGE_DIR) firmware_install - +$(MAKE_SELF) install-base DH_OPTIONS='$(DH_OPTIONS)' + +$(MAKE_SELF) install-base + +install-linux-base: PACKAGE_NAME = linux-base +install-linux-base: DH_OPTIONS := -p$(PACKAGE_NAME) +install-linux-base: + dh_testdir + dh_testroot + dh_prep + dh_install -X.svn + +$(MAKE_SELF) install-base # vim: filetype=make diff --git a/templates/control.image.type-kernel-package.in b/templates/control.image.type-kernel-package.in index b3f27b0..d35c4a5 100644 --- a/templates/control.image.type-kernel-package.in +++ b/templates/control.image.type-kernel-package.in @@ -3,6 +3,5 @@ Provides: linux-image, linux-image-@major@, linux-modules-@upstreamversion@@abin Pre-Depends: debconf | debconf-2.0 Depends: module-init-tools Suggests: linux-doc-@version@ -Description: Linux @upstreamversion@ image on @class@ - This package provides the binary image and pre-built loadable modules for - Linux kernel @upstreamversion@ on @longclass@ machines. +Description: Linux @upstreamversion@ for @class@ + The Linux kernel @upstreamversion@ and modules for use on @longclass@. diff --git a/templates/control.image.type-modulesextra.in b/templates/control.image.type-modulesextra.in index bc6d1d8..4981930 100644 --- a/templates/control.image.type-modulesextra.in +++ b/templates/control.image.type-modulesextra.in @@ -2,12 +2,10 @@ Package: linux-image-@upstreamversion@@abiname@@localversion@ Provides: linux-image, linux-image-@major@ Depends: linux-modules-@upstreamversion@@abiname@@localversion@ (= ${binary:Version}) Suggests: linux-doc-@version@ -Description: Linux @upstreamversion@ image on @class@ - This package provides the binary image for - Linux kernel @upstreamversion@ on @longclass@ machines. +Description: Linux @upstreamversion@ for @class@ + The Linux kernel @upstreamversion@ for use on @longclass@. Package: linux-modules-@upstreamversion@@abiname@@localversion@ Depends: module-init-tools -Description: Linux @upstreamversion@ modules on @class@ - This package provides pre-built loadable modules for - Linux kernel @version@ on @longclass@ machines. +Description: Linux @upstreamversion@ modules for @class@ + Modules for Linux kernel @upstreamversion@ for use on @longclass@. diff --git a/templates/control.image.type-modulesinline.in b/templates/control.image.type-modulesinline.in index 2151ce0..dae73fa 100644 --- a/templates/control.image.type-modulesinline.in +++ b/templates/control.image.type-modulesinline.in @@ -2,6 +2,5 @@ Package: linux-image-@upstreamversion@@abiname@@localversion@ Provides: linux-image, linux-image-@major@, linux-modules-@upstreamversion@@abiname@@localversion@ Depends: module-init-tools Suggests: linux-doc-@version@ -Description: Linux @upstreamversion@ image on @class@ - This package provides the binary image and pre-built loadable modules for - Linux kernel @upstreamversion@ on @longclass@ machines. +Description: Linux @upstreamversion@ for @class@ + The Linux kernel @upstreamversion@ for use on @longclass@. diff --git a/templates/control.image.type-plain.in b/templates/control.image.type-plain.in index 92a96ba..1dda400 100644 --- a/templates/control.image.type-plain.in +++ b/templates/control.image.type-plain.in @@ -4,6 +4,5 @@ Pre-Depends: debconf | debconf-2.0 Depends: module-init-tools, ${shlibs:Depends} Recommends: firmware-linux-free (>= @source_upstream@) Suggests: linux-doc-@version@ -Description: Linux @upstreamversion@ image on @class@ - This package provides the binary image and pre-built loadable modules for - Linux kernel @upstreamversion@ on @longclass@ machines. +Description: Linux @upstreamversion@ for @class@ + The Linux kernel @upstreamversion@ and modules for use on @longclass@. diff --git a/templates/control.image.type-standalone.in b/templates/control.image.type-standalone.in index 8add82a..4036d32 100644 --- a/templates/control.image.type-standalone.in +++ b/templates/control.image.type-standalone.in @@ -2,6 +2,5 @@ Package: linux-image-@upstreamversion@@abiname@@localversion@ Provides: linux-image, linux-image-@major@ Suggests: linux-doc-@version@ Depends: ${shlibs:Depends} -Description: Linux @upstreamversion@ image on @class@ - This package provides the binary image for - Linux kernel @upstreamversion@ on @longclass@ machines. +Description: Linux @upstreamversion@ for @class@ + The Linux kernel @upstreamversion@ for use on @longclass@. diff --git a/templates/control.main.in b/templates/control.main.in index 59adabe..0ca7ea4 100644 --- a/templates/control.main.in +++ b/templates/control.main.in @@ -47,7 +47,7 @@ Description: Linux kernel API manual pages for version @version@ Package: linux-patch-debian-@version@ Architecture: all -Depends: bzip2, linux-support-@upstreamversion@@abiname@ +Depends: bzip2, linux-support-@upstreamversion@@abiname@, python Suggests: linux-source-@version@ Description: Debian patches to version @version@ of the Linux kernel This package includes the patches used to produce the prepackaged @@ -67,3 +67,20 @@ Description: Binary firmware for various drivers in the Linux kernel . Most firmware previously included in the Linux kernel is non-free and has been moved to the firmware-linux-nonfree package. + +Package: linux-support-@upstreamversion@@abiname@ +Architecture: all +Section: devel +Depends: ${python:Depends} +Description: Support files for Linux @upstreamversion@ + This package provides support files for the Linux kernel build, + e.g. scripts to handle ABI information and for generation of + build system meta data. + +Package: linux-base +Architecture: all +Depends: ${misc:Depends} +Description: Linux image base package + This package contains files and support scripts for all Linux + images. + diff --git a/templates/control.source.in b/templates/control.source.in index 3f47743..fa5bd57 100644 --- a/templates/control.source.in +++ b/templates/control.source.in @@ -1,8 +1,9 @@ Section: kernel Priority: optional Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org> -Uploaders: Bastian Blank <waldi@debian.org>, Frederik Schüler <fs@debian.org>, maximilian attems <maks@debian.org> -Standards-Version: 3.8.2 -Build-Depends: debhelper (>> 7), module-init-tools, python -Build-Depends-Indep: bzip2, python-central, xmlto -XS-Python-Version: current +Uploaders: Bastian Blank <waldi@debian.org>, Frederik Schüler <fs@debian.org>, maximilian attems <maks@debian.org>, Ben Hutchings <ben@decadent.org.uk> +Standards-Version: 3.8.4 +Build-Depends: debhelper (>> 7), cpio, module-init-tools, python, lzma [armel] +Build-Depends-Indep: bzip2, python-support, xmlto +Vcs-Svn: svn://svn.debian.org/svn/kernel/dists/sid/linux-2.6/ +Vcs-Browser: http://svn.debian.org/wsvn/kernel/dists/sid/linux-2.6/?op=log diff --git a/templates/control.support.in b/templates/control.support.in deleted file mode 100644 index b86f870..0000000 --- a/templates/control.support.in +++ /dev/null @@ -1,8 +0,0 @@ -Package: linux-support-@upstreamversion@@abiname@ -Architecture: all -Section: devel -Depends: ${python:Depends} -Description: Support files for Linux @upstreamversion@ - This package provides support files for the Linux kernel build. -XB-Python-Version: ${python:Versions} - diff --git a/templates/control.tree.in b/templates/control.tree.in deleted file mode 100644 index 517c439..0000000 --- a/templates/control.tree.in +++ /dev/null @@ -1,23 +0,0 @@ -Package: linux-tree-@version@ -Architecture: all -Section: devel -Description: Linux kernel source tree for building Debian kernel images - This metapackage is used as a build dependency of Debian - linux-image packages to prevent a version discrepancy between - the linux-image and corresponding linux-sources packages in the - fast-moving unstable archive. The package's dependency relations - are structured so that a linux-image package's build - dependencies can always be satisfied, even if the linux-source - package that had been used to compile the image has been - superseded by a newer Debian revision since the last build. - . - The package provides a list of virtual packages, corresponding to - Debian revisions of a linux-source package. The Debian - linux-patch contains the information needed to roll back the - current linux-source to any of the revisions identified by the - provided virtual packages. Therefore, the linux-tree package - ensures the availability of the Linux kernel source tree corresponding - to each of the virtual packages listed. - . - The package serves no purpose outside of the Debian build and - archive infrastructure. diff --git a/templates/image.plain.bug/control b/templates/image.plain.bug/control new file mode 100644 index 0000000..d49f83d --- /dev/null +++ b/templates/image.plain.bug/control @@ -0,0 +1,2 @@ +Submit-As: linux-2.6 +Package-Status: firmware-bnx2 firmware-bnx2x firmware-ipw2x00 firmware-ivtv firmware-iwlwifi firmware-linux firmware-linux-nonfree firmware-qlogic firmware-ralink diff --git a/templates/image.plain.bug/include-1tainted b/templates/image.plain.bug/include-1tainted index 44984cb..e616acf 100644 --- a/templates/image.plain.bug/include-1tainted +++ b/templates/image.plain.bug/include-1tainted @@ -1,34 +1,43 @@ -TAINT_PROPRIETARY_MODULE=1 -TAINT_FORCED_MODULE=2 -TAINT_UNSAFE_SMP=4 -TAINT_FORCED_RMMOD=8 -TAINT_MACHINE_CHECK=16 -TAINT_BAD_PAGE=32 -TAINT_USER=64 -TAINT_DIE=128 -TAINT_OVERRIDDEN_ACPI_TABLE=256 -TAINT_WARN=512 +TAINT_PROPRIETARY_MODULE=0 +TAINT_FORCED_MODULE=1 +TAINT_UNSAFE_SMP=2 +TAINT_FORCED_RMMOD=3 +TAINT_MACHINE_CHECK=4 +TAINT_BAD_PAGE=5 +TAINT_USER=6 +TAINT_DIE=7 +TAINT_OVERRIDDEN_ACPI_TABLE=8 +TAINT_WARN=9 +TAINT_CRAP=10 + +_check() { + if [ $(($tainted & 1<<$1)) -ne 0 ]; then + result_short="$result_short$2" + result_long="$result_long * $3\n" + fi +} add_1tainted() { tainted=$(cat /proc/sys/kernel/tainted) if [ "$tainted" -gt 0 ]; then - local s - [ $(($tainted & $TAINT_PROPRIETARY_MODULE)) -ne 0 ] && s="P" || s="G" - [ $(($tainted & $TAINT_FORCED_MODULE)) -ne 0 ] && s="${s}F" || s="$s " - [ $(($tainted & $TAINT_UNSAFE_SMP)) -ne 0 ] && s="${s}S" || s="$s " - [ $(($tainted & $TAINT_FORCED_RMMOD)) -ne 0 ] && s="${s}R" || s="$s " - [ $(($tainted & $TAINT_MACHINE_CHECK)) -ne 0 ] && s="${s}M" || s="$s " - [ $(($tainted & $TAINT_BAD_PAGE)) -ne 0 ] && s="${s}B" || s="$s " - [ $(($tainted & $TAINT_USER)) -ne 0 ] && s="${s}U" || s="$s " - [ $(($tainted & $TAINT_DIE)) -ne 0 ] && s="${s}D" || s="$s " - [ $(($tainted & $TAINT_OVERRIDDEN_ACPI_TABLE)) -ne 0 ] && s="${s}A" || s="$s " - [ $(($tainted & $TAINT_WARN)) -ne 0 ] && s="${s}W" || s="$s " - echo '** Tainted:' $s "($tainted)" >&3 - echo >&3 + local result_short result_long + _check $TAINT_PROPRIETARY_MODULE 'P' 'Proprietary module has been loaded.' + _check $TAINT_FORCED_MODULE 'F' 'Module has been forcibly loaded.' + _check $TAINT_UNSAFE_SMP 'S' 'SMP with CPUs not designed for SMP.' + _check $TAINT_FORCED_RMMOD 'R' 'User forced a module unload.' + _check $TAINT_MACHINE_CHECK 'M' 'System experienced a machine check exception.' + _check $TAINT_BAD_PAGE 'B' 'System has hit bad_page.' + _check $TAINT_USER 'U' 'Userspace-defined naughtiness.' + _check $TAINT_DIE 'D' 'Kernel has oopsed before.' + _check $TAINT_OVERRIDDEN_ACPI_TABLE 'A' 'ACPI table overridden.' + _check $TAINT_WARN 'W' 'Taint on warning.' + _check $TAINT_CRAP 'C' 'Module from drivers/staging has been loaded.' + echo "** Tainted: $result_short ($tainted)" >&3 + printf "$result_long" >&3 else echo '** Not tainted' >&3 - echo >&3 fi + echo >&3 } ask_1tainted() { diff --git a/templates/image.plain.bug/include-dmesg b/templates/image.plain.bug/include-dmesg index 81b5f54..a7f4f41 100644 --- a/templates/image.plain.bug/include-dmesg +++ b/templates/image.plain.bug/include-dmesg @@ -5,5 +5,8 @@ add_dmesg() { } ask_dmesg() { - true + # Remind the user to attach the kernel log. This should also trigger + # a reminder in some MUAs if the user tries to send without it. + echo '** Kernel log: boot messages should be attached' >&3 + echo >&3 } diff --git a/templates/image.plain.bug/include-model b/templates/image.plain.bug/include-model new file mode 100644 index 0000000..542efc8 --- /dev/null +++ b/templates/image.plain.bug/include-model @@ -0,0 +1,52 @@ +grep_model() { + case "$(uname -m)" in + alpha) + egrep '^(system (type|variation|revision)|platform string)\b' /proc/cpuinfo + ;; + arm*) + egrep '^(Processor|Hardware|Revision)\b' /proc/cpuinfo + ;; + i386|ia64|x86_64) + local found= + for name in {sys,product,chassis,bios,board}_{vendor,name,version}; do + if [ -f /sys/class/dmi/id/$name ]; then + echo -n "$name: " + cat /sys/class/dmi/id/$name + found=y + fi + done + test -n "$found" + ;; + mips|mips64) + egrep '^(system type|cpu model)\b' /proc/cpuinfo + ;; + parisc|parisc64) + egrep '^(model|[hs]version)\b' /proc/cpuinfo + ;; + ppc|ppc64) + egrep -i '^(board|machine|model|motherboard|platform|revision|vendor)\b' /proc/cpuinfo + ;; + s390|s390x) + egrep '^processor\b' /proc/cpuinfo + ;; + sparc|sparc64) + egrep '^(cpu|fpu|pmu|prom|type)\b' /proc/cpuinfo + ;; + *) + false + ;; + esac +} + +add_model() { + local found= + echo '** Model information' >&3 + grep_model >&3 2>/dev/null || echo "not available" >&3 + echo >&3 +} + +ask_model() { + # This is still valid as long as the bug is being reported on the same + # system. + test $same_system = nop || add_model +} diff --git a/templates/image.plain.bug/include-network b/templates/image.plain.bug/include-network new file mode 100644 index 0000000..c3591c0 --- /dev/null +++ b/templates/image.plain.bug/include-network @@ -0,0 +1,42 @@ +add_network() { + yesno "Include network configuration and status from this computer? " nop + test $REPLY = yep || return 0 + + echo '** Network interface configuration:' >&3 + # Hide passwords/keys + awk '$1 ~ /key|pass|^wpa-(anonymous|identity|phase|pin|private|psk)/ { gsub(".", "*", $2); } + $1 == "ethtool-wol" { gsub(".", "*", $3); } + !/^[[:space:]]*\#/ { print; } + ' </etc/network/interfaces >&3 + echo >&3 + echo '** Network status:' >&3 + if command -v ip >/dev/null; then + echo '*** IP interfaces and addresses:' >&3 + ip address show >&3 + echo >&3 + fi + echo '*** Device statistics:' >&3 + cat /proc/net/dev >&3 + echo >&3 + if command -v netstat >/dev/null; then + echo '*** Protocol statistics:' >&3 + netstat -s >&3 || true + echo >&3 + fi + echo '*** Device features:' >&3 + for dir in /sys/class/net/*; do + echo -n "${dir##*/}: " >&3 + cat "$dir"/features >&3 + done + echo >&3 +} + +ask_network() { + test $same_system = yep || return 0 + yesno "Include network configuration from this computer? " nop + test $REPLY = yep || return 0 + + echo '** Network interface configuration:' >&3 + cat /etc/network/interfaces >&3 + echo >&3 +} diff --git a/templates/image.plain.bug/include-pci b/templates/image.plain.bug/include-pci index e4ad456..53f9513 100644 --- a/templates/image.plain.bug/include-pci +++ b/templates/image.plain.bug/include-pci @@ -9,6 +9,8 @@ add_pci() { } ask_pci() { - true + # This information shouldn't vary much between kernel versions, so + # include it anyway. + test $same_system = nop || add_pci } diff --git a/templates/image.plain.bug/include-usb b/templates/image.plain.bug/include-usb new file mode 100644 index 0000000..e8eb67e --- /dev/null +++ b/templates/image.plain.bug/include-usb @@ -0,0 +1,11 @@ +add_usb() { + echo '** USB devices:' >&3 + lsusb >&3 2>/dev/null || echo 'not available' >&3 + echo >&3 +} + +ask_usb() { + # This information shouldn't vary much between kernel versions, so + # include it anyway. + test $same_system = nop || add_usb +} diff --git a/templates/image.plain.bug/presubj b/templates/image.plain.bug/presubj new file mode 100644 index 0000000..55a4004 --- /dev/null +++ b/templates/image.plain.bug/presubj @@ -0,0 +1,7 @@ +Please ensure that you are currently running the kernel version that you +are reporting on. This will allow your bug report to include useful +diagnostic information about the running kernel. + +If you are reporting that the kernel fails to boot, please use a digital +camera, serial console or netconsole to record the boot messages and +attach these to your report. diff --git a/templates/image.plain.bug/script b/templates/image.plain.bug/script index 434ea0b..9374b2f 100644 --- a/templates/image.plain.bug/script +++ b/templates/image.plain.bug/script @@ -1,6 +1,8 @@ #!/bin/bash set -e +PATH=/sbin:/bin:/usr/sbin:/usr/bin + dir="$(dirname $0)" . "$dir"/info @@ -16,6 +18,8 @@ if [ "$RELEASE" == "$(uname -r)" ]; then add_$hook done else + yesno "Does the bug you are reporting affect this computer? " yep + same_system=$REPLY for hook in ${hooks[@]}; do ask_$hook done diff --git a/templates/patch.apply.in b/templates/patch.apply.in index 82dbd93..dd35c65 100644 --- a/templates/patch.apply.in +++ b/templates/patch.apply.in @@ -3,7 +3,7 @@ import os, os.path, re, sys from warnings import warn -sys.path.append("/usr/src/linux-support-@linux_upstream@@abiname@/lib/python") +sys.path.append("/usr/share/linux-support-@linux_upstream@@abiname@/lib/python") from debian_linux.patches import PatchSeries, PatchSeriesList diff --git a/templates/temp.image.plain/config b/templates/temp.image.plain/config deleted file mode 100755 index 015a910..0000000 --- a/templates/temp.image.plain/config +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -set -eu - -exit 0 diff --git a/templates/temp.image.plain/postinst b/templates/temp.image.plain/postinst index d796a8d..586ef14 100755 --- a/templates/temp.image.plain/postinst +++ b/templates/temp.image.plain/postinst @@ -1,26 +1,11 @@ #! /usr/bin/perl -# -*- Mode: Cperl -*- -# debian.postinst --- -# Author : Manoj Srivastava ( srivasta@pilgrim.umass.edu ) -# Created On : Sat Apr 27 05:55:26 1996 -# Created On Node : melkor.pilgrim.umass.edu -# Last Modified By : Manoj Srivastava -# Last Modified On : Fri Sep 29 10:08:18 2006 -# Last Machine Used: glaurung.internal.golden-gryphon.com -# Update Count : 357 -# Status : Unknown, Use with caution! -# HISTORY : -# Description : -# -# $Id: image.postinst,v 1.125 2003/10/07 16:24:20 srivasta Exp $ -# - # #use strict; #for debugging use Cwd 'abs_path'; use Debconf::Client::ConfModule qw(:all); +use POSIX (); version('2.0'); -my $capb=capb("backup"); +my $capb = capb('backup', 'escape'); $|=1; @@ -28,14 +13,13 @@ $|=1; my $version = "=V"; my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly -my $reverse_symlink = "=R"; # Should be empty, mostly my $do_symlink = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot or delo my $image_dir = "=D"; # where the image is located -my $relative_links = ""; # target machine defined +my $initrd = "=I"; # initrd kernel my $mkimage = "=M"; # command to generate the initrd image my $use_hard_links = ''; # hardlinks do not work across fs boundaries my $postinst_hook = ''; #Normally we do not @@ -44,11 +28,9 @@ my $ignore_depmod_err = ''; # normally we do not my $relink_src_link = 'YES'; # There is no harm in checking the link my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # There is no harm in checking the link -my $official_image = "=OF"; # only true for official images -my $arch = "=A"; # should be same as dpkg --print-installation-architecture +my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $ramdisk = "=MK"; # List of tools to create initial ram fs. -my $initrddep = "=MD"; # List of dependencies for such tools my $package_name = "=ST-image-$version"; my $explicit_do_loader = ''; @@ -72,7 +54,6 @@ my $temp_file_name = "/var/log/$loader" . "_log.$$"; my $image_dest = "/"; my $realimageloc = "/$image_dir/"; my $have_conffile = ""; -my $silent_loader = ''; my $modules_base = '/lib/modules'; my $CONF_LOC = '/etc/kernel-img.conf'; @@ -101,41 +82,35 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { s/\#.*$//g; next if /^\s*$/; - $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/ig; - $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/ig; - $reverse_symlink = "" if /reverse_symlink\s*=\s*(no|false|0)\s*$/ig; - $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/ig; - $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/ig; - $relative_links = '' if /relative_links \s*=\s*(no|false|0)\s*$/ig; - $do_bootloader = '' if /do_bootloader\s*=\s*(no|false|0)\s*$/ig; - $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/ig; - $silent_loader = '' if /silent_loader\s*=\s*(no|false|0)\s*$/ig; - $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/ig; - $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/ig; - $relink_src_link = '' if /relink_src_link\s*=\s*(no|false|0)\s*$/ig; - $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/ig; - $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/ig; - - $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $reverse_symlink = "Yes" if /reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/ig; - $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; - $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/ig; - $explicit_do_loader = "YES" if /do_bootloader\s*=\s*(yes|true|1)\s*$/ig; - $relative_links = "Yes" if /relative_links\s*=\s*(yes|true|1)\s*$/ig; - $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/ig; - $silent_loader = 'Yes' if /silent_loader\s*=\s*(yes|true|1)\s*$/ig; - $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/ig; - $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/ig; - $relink_src_link = 'Yes' if /relink_src_link\s*=\s*(yes|true|1)\s*$/ig; - $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/ig; - $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/ig; - - $image_dest = "$1" if /image_dest\s*=\s*(\S+)/ig; - $postinst_hook = "$1" if /postinst_hook\s*=\s*(\S+)/ig; - $mkimage = "$1" if /mkimage\s*=\s*(.+)$/ig; - $ramdisk = "$1" if /ramdisk\s*=\s*(.+)$/ig; + $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/i; + $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/i; + $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/i; + $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/i; + $do_bootloader = '' if /do_bootloader\s*=\s*(no|false|0)\s*$/i; + $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/i; + $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/i; + $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/i; + $relink_src_link = '' if /relink_src_link\s*=\s*(no|false|0)\s*$/i; + $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/i; + $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/i; + + $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/i; + $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/i; + $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/i; + $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/i; + $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/i; + $explicit_do_loader = "YES" if /do_bootloader\s*=\s*(yes|true|1)\s*$/i; + $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/i; + $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/i; + $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/i; + $relink_src_link = 'Yes' if /relink_src_link\s*=\s*(yes|true|1)\s*$/i; + $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/i; + $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/i; + + $image_dest = "$1" if /image_dest\s*=\s*(\S+)/i; + $postinst_hook = "$1" if /postinst_hook\s*=\s*(\S+)/i; + $mkimage = "$1" if /mkimage\s*=\s*(.+)$/i; + $ramdisk = "$1" if /ramdisk\s*=\s*(.+)$/i; } close CONF; $have_conffile = "Yes"; @@ -143,6 +118,11 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { } +# For some versions of kernel-package, we had this warning in the +# postinst, but the rules did not really interpolate the value in. +# Here is a sanity check. +my $pattern = "=" . "I"; +$initrd=~ s/^$pattern$//; if ($link_in_boot) { $image_dest = "/$image_dir/"; # same as realimageloc @@ -337,12 +317,10 @@ sub move_p { warn "Move?: kimage=$kimage, image_dest=$image_dest, \n" . "\timage_name=$image_name, src_dir=$src_dir" if $DEBUG; - if ($no_symlink || $reverse_symlink) { + if ($no_symlink) { # we do not want links, yet we have a symbolic link here! warn "found a symbolic link in " . $image_dest . "$kimage \n" . "even though no_symlink is defined\n" if $no_symlink; - warn "found a symbolic link in " . $image_dest . "$kimage \n" . - "even though reverse_symlink is defined\n" if $reverse_symlink; # make sure we change this state of affairs $force_move = 1; return $force_move; @@ -497,43 +475,21 @@ sub handle_missing_link { die("Failed to copy " . $realimageloc . "$image_name to " . $image_dest . "$kimage .\n"); } - } - elsif ($reverse_symlink) { - my $ret = system("mv -f " . $realimageloc . "$image_name " - . "$kimage"); - if ($ret) { - die("Failed to move " . $realimageloc . "$image_name to " - . $image_dest . "$kimage .\n"); - } - } - else { + } else { if (! $have_conffile) { - my $ret; - my $answer=''; + # current default $do_symlink = "Yes"; - my $question = "${package_name}/postinst/create-kimage-link-$version"; - - ($ret,$answer) = get("$question"); - die "Error retreiving answer for $question: $answer" if $ret; - - $answer =~ s/^\s+//; - $answer =~ s/\s+$//; - $do_symlink = "No" if $answer =~ /^(f|n)/i; - - if (open(CONF, ">$CONF_LOC")) { - print CONF "# Kernel Image management overrides\n"; - print CONF "# See kernel-img.conf(5) for details\n"; - if ($loader =~ /palo/i) { + + if ($loader =~ /palo/i) { + if (open(CONF, ">$CONF_LOC")) { + print CONF "# Kernel Image management overrides\n"; print CONF "link_in_boot = Yes\n"; print CONF "do_symlinks = Yes\n"; - print CONF "relative_links = Yes\n"; print CONF "do_bootloader = No\n"; - } else { - print CONF "do_symlinks = $do_symlink\n"; + close CONF; + $have_conffile = "Yes"; } - close CONF; } - $have_conffile = "Yes"; } } @@ -543,12 +499,6 @@ sub handle_missing_link { my $Name = "$image_name"; my $Link_Dest = "$kimage"; - if ($reverse_symlink) { - $Old = $image_dest; - $New = $realimageloc; - $Name = "$kimage"; - $Link_Dest = $realimageloc . "$image_name"; - } if (test_relative ('Old Dir' => $Old, 'New Dir' => $New, 'Test File' => $Name)) { @@ -565,7 +515,7 @@ sub handle_missing_link { } # This routine handles the rest of the cases, where the user has requested -# non-traditional handling, like using cp, or reverse symlinks, or hard links. +# non-traditional handling, like using cp or hard links. sub handle_non_symlinks { my $kimage = $_[0]; # Name of the symbolic link my $image_dest = $_[1]; # The directory the links goes into @@ -596,41 +546,6 @@ sub handle_non_symlinks { ##,#### # case Two #`#### - elsif ($reverse_symlink) { # Maybe /$image_dest is on a dos system? - my $ret = system("mv -f " . $realimageloc . "$image_name " - . $image_dest . "$kimage"); - if ($ret) { - if (-e "$kimage.$$") { - rename("$kimage.$$", "$kimage"); - } - die("Failed to move " . $realimageloc . "$image_name to " - . $image_dest . "$kimage .\n"); - } - my $Old = $image_dest; - if (test_relative ('Old Dir' => $Old, 'New Dir' => $realimageloc, - 'Test File' => "$kimage")) { - $Old =~ s|^/*||o; - } - # Special case is they are in the same dir - my $rel_path = spath('Old' => "$Old", 'New' => "$realimageloc" ); - $Old ="" if $rel_path =~ m/^\s*$/o; - - if ($use_hard_links =~ m/YES/i) { - if (! link($Old . "$kimage", $realimageloc . "$image_name")) { - warn "Could not hard link " . $image_dest . - "$kimage to $image_name :$!"; - } - } - else { - if (! symlink($Old . "$kimage", $realimageloc . "$image_name")) { - warn "Could not symlink " . $image_dest . - "$kimage to $image_name :$!"; - } - } - } - ##,#### - # case Three - #`#### elsif ($use_hard_links =~ m/YES/i ) { # Ok then. this ought to be a hard link, and hence fair game # don't clobber $kimage.old quite yet @@ -652,7 +567,7 @@ sub handle_non_symlinks { } } ##,#### - # case Four + # case Three #`#### else { # We just use cp @@ -708,8 +623,7 @@ sub image_magic { ###################################################################### ###################################################################### -# We may not have any modules installed -if ( -d "$modules_base/$version" ) { +sub do_modules { print STDERR "Running depmod.\n"; my $ret = system("depmod -a -F $realimageloc/System.map-$version $version"); my $exit_value = $? >> 8; @@ -760,25 +674,119 @@ if ( -d "$modules_base/$version" ) { } } } + + # If we are installing (not upgrading) a package for a newer + # upstream version than that of the running kernel, check whether + # the user might be missing necessary firmware, perhaps because + # it has now been removed from the kernel. + # + # We base this check on the modules used in the running kernel and + # the corresponding (by name) modules in the new kernel. This is + # not entirely accurate because: + # 1. A device may now be handled by a module with a different name, + # leading us to miss the dependency + # 2. A device may be handled by a module that needs firmware only + # for some other device, leading us to claim a dependency wrongly + + if (!defined($ARGV[1]) || $ARGV[1] eq '') { + (undef, undef, my $running_version) = POSIX::uname(); + my $running_patchlevel = $running_version; + $running_patchlevel =~ s/^2\.6\.(\d+).*/$1/; + my $new_patchlevel = $version; + $new_patchlevel =~ s/^2\.6\.(\d+).*/$1/; + + if ($new_patchlevel > $running_patchlevel) { + my $missing = ''; + my %module_paths; + open(DEP, "<$modules_base/$version/modules.dep") or return; + while (<DEP>) { + if (m|(.*/([^/]*)\.ko):|) { + my ($path, $module) = ($1, $2); + $module =~ s/-/_/g; + $module_paths{$module} = $path; + } + } + close(DEP); + open(MODULES, '</proc/modules') or return; + while (<MODULES>) { + s/ .*//s; + my $module = $_; + my $module_path = $module_paths{$module}; + if (defined($module_path)) { + my $first = 1; + if ($module_path !~ m|^/|) { + $module_path = "$modules_base/$version/$module_path"; + } + open(MODINFO, "modinfo -F firmware '$module_path' |"); + while (<MODINFO>) { + chomp; + my $firmware = $_; + unless (-e "/lib/firmware/$firmware" || + -e "/lib/firmware/$version/$firmware") { + if ($first) { + $missing .= "\\n" if $missing ne ''; + $missing .= "$module: "; + $first = 0; + } else { + $missing .= ', '; + } + $missing .= $firmware; + } + } + close(MODINFO); + } + } + close(MODULES); + + if ($missing ne '') { + my ($ret, $seen); + my $text = "${package_name}/postinst/missing-firmware-${version}"; + + ($ret, $seen) = subst($text, 'runningversion', $running_version); + die "Error setting debconf substitutions in $text: $seen" if $ret; + + ($ret, $seen) = subst($text, 'version', $version); + die "Error setting debconf substitutions in $text: $seen" if $ret; + + ($ret, $seen) = subst($text, 'missing', $missing); + die "Error setting debconf substitutions in $text: $seen" if $ret; + + ($ret, $seen) = input('high', $text); + if ($ret && $ret != 30) { + die "Error setting debconf question $text: $seen"; + } + + ($ret, $seen) = go(); + if ($ret && $ret != 30) { + die "Error asking debconf question $text: $seen"; + } + } + } + } } +# We may not have any modules installed +if (-d "$modules_base/$version") { + &do_modules(); +} -sub find_inird_tool { +sub find_initramfs_tool { my $ramdisk = shift; - my (@ramdisks, $initramfs_cmd); + my (@tools, $initramfs_cmd); foreach $initramfs_cmd (split(/[:,\s]+/, $ramdisk)) { if (system("test -x \"\$(command -v $initramfs_cmd)\"") == 0) { - push(@ramdisks, $initramfs_cmd); + push(@tools, $initramfs_cmd); } } - return @ramdisks; + return @tools; } +if ($initrd) { my @ramdisklist; -@ramdisklist = find_inird_tool($ramdisk) if $ramdisk; +@ramdisklist = find_initramfs_tool($ramdisk) if $ramdisk; die "Failed to find suitable initramfs generation tool in $ramdisk\n" if $#ramdisklist < 0; my $success = 0; @@ -798,7 +806,7 @@ for $ramdisk_cmd (@ramdisklist) { } } die "Failed to create initrd image.\n" unless $success; -if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m/<unknown>/og) { +if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m/<unknown>/o) { image_magic("initrd.img", $image_dest); } else { if (! -e "initrd.img") { @@ -806,9 +814,10 @@ if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m/<unknown>/og) { $realimageloc); } } +} # Only change the symlinks if we are not being upgraded -if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m/<unknown>/og) { +if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m/<unknown>/o) { image_magic($kimage, $image_dest); } else { @@ -842,6 +851,13 @@ sub run_hook { } } +my $options; +for (@ARGV) { + s,','\\'',g; + $options .= " '$_'"; +} +$ENV{'DEB_MAINT_PARAMS'}="$options"; + ## Run user hook script here, if any if ($postinst_hook) { &run_hook("postinst", $postinst_hook); @@ -872,9 +888,7 @@ LOADER: { last if $loader =~ /nettrom/i; # NETTROM does not have to be executed. last if $loader =~ /arcboot/i; # ARCBOOT does not have to be executed. last if $loader =~ /delo/i; # DELO does not have to be executed. - if ($official_image =~ /^\s*YES\s*$/o) { - last if $loader =~ /quik/i; # maintainer asked quik invocation to be ignored - } + last if $loader =~ /quik/i; # maintainer asked quik invocation to be ignored last unless $loaderloc; last unless -x $loaderloc; diff --git a/templates/temp.image.plain/postrm b/templates/temp.image.plain/postrm index 4df1dd2..23cd777 100755 --- a/templates/temp.image.plain/postrm +++ b/templates/temp.image.plain/postrm @@ -1,21 +1,4 @@ #! /usr/bin/perl -# -*- Mode: Cperl -*- -# image.postrm --- -# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com ) -# Created On : Sat May 15 11:05:13 1999 -# Created On Node : glaurung.green-gryphon.com -# Last Modified By : Manoj Srivastava -# Last Modified On : Wed Sep 13 11:26:19 2006 -# Last Machine Used: glaurung.internal.golden-gryphon.com -# Update Count : 57 -# Status : Unknown, Use with caution! -# HISTORY : -# Description : -# -# $Id: image.postrm,v 1.31 2003/10/07 16:24:20 srivasta Exp $ -# - - # #use strict; #for debugging use Cwd 'abs_path'; @@ -38,21 +21,20 @@ $|=1; my $version = "=V"; my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly -my $reverse_symlink = "=R"; # Should be empty, mostly my $do_symlink = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, or nettrom my $image_dir = "=D"; # where the image is located +my $initrd = "=I"; # initrd kernel my $use_hard_links = ''; # hardlinks do not work across fs boundaries my $postrm_hook = ''; #Normally we do not my $minimal_swap = ''; # Do not swap symlinks my $ignore_depmod_err = ''; # normally we do not my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # we shall not create a dangling link -my $official_image = "=OF"; # only true for official images -my $arch = "=A"; # should be same as dpkg --print-installation-architecture +my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $ramdisk = "=MK"; # List of tools to create initial ram fs. my $package_name = "=ST-image-$version"; @@ -73,21 +55,9 @@ $Loader = "ELILO" if $loader =~ /^elilo/io; my $temp_file_name = "/var/log/$loader" . "_log.$$"; #known variables -my @boilerplate = (); -my @silotemplate = (); -my @quiktemplate = (); -my @palotemplate = (); -my @vmelilotemplate = (); -my $bootdevice = ''; -my $rootdevice = ''; -my $rootdisk = ''; -my $rootpartition = ''; my $image_dest = "/"; my $realimageloc = "/$image_dir/"; -my $have_conffile = ""; my $CONF_LOC = '/etc/kernel-img.conf'; -my $relative_links = ''; -my $silent_loader = ''; chdir('/') or die "could not chdir to /:$!\n"; # remove multiple leading slashes; make sure there is at least one. @@ -102,39 +72,32 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { s/\#.*$//g; next if /^\s*$/; - $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/ig; - $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/ig; - $reverse_symlink = "" if /reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; - $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/ig; - $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/ig; - $relative_links = '' if /relative_links \s*=\s*(no|false|0)\s*$/ig; - $do_bootloader = '' if /do_bootloader\s*=\s*(no|false|0)\s*$/ig; - $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/ig; - $silent_loader = '' if /silent_loader\s*=\s*(no|false|0)\s*$/ig; - $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/ig; - $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/ig; - $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/ig; - $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/ig; - - $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $reverse_symlink = "Yes" if /reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/ig; - $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; - $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/ig; - $relative_links = "Yes" if /relative_links\s*=\s*(yes|true|1)\s*$/ig; - $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/ig; - $silent_loader = 'Yes' if /silent_loader\s*=\s*(yes|true|1)\s*$/ig; - $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/ig; - $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/ig; - $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/ig; - $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/ig; - - $image_dest = "$1" if /image_dest\s*=\s*(\S+)/ig; - $postrm_hook = "$1" if /postrm_hook\s*=\s*(\S+)/ig; + $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/i; + $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/i; + $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/i; + $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/i; + $do_bootloader = '' if /do_bootloader\s*=\s*(no|false|0)\s*$/i; + $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/i; + $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/i; + $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/i; + $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/i; + $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/i; + + $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/i; + $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/i; + $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/i; + $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/i; + $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/i; + $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/i; + $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/i; + $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/i; + $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/i; + $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/i; + + $image_dest = "$1" if /image_dest\s*=\s*(\S+)/i; + $postrm_hook = "$1" if /postrm_hook\s*=\s*(\S+)/i; } close CONF; - $have_conffile = "Yes"; } } @@ -293,6 +256,13 @@ sub run_hook { } } +my $options; +for (@ARGV) { + s,','\\'',g; + $options .= " '$_'"; +} +$ENV{'DEB_MAINT_PARAMS'}="$options"; + ## Run user hook script here, if any if ($postrm_hook) { &run_hook("postrm", $postrm_hook); @@ -326,8 +296,8 @@ if ($ARGV[0] !~ /upgrade/) { # check and remove damaged and dangling symlinks image_magic($kimage, $image_dest); image_magic($kimage . ".old", $image_dest); - image_magic("initrd.img", $image_dest); - image_magic("initrd.img.old", $image_dest); + image_magic("initrd.img", $image_dest) if $initrd; + image_magic("initrd.img.old", $image_dest) if $initrd; } diff --git a/templates/temp.image.plain/preinst b/templates/temp.image.plain/preinst index cb8c7d3..1b9ddbc 100755 --- a/templates/temp.image.plain/preinst +++ b/templates/temp.image.plain/preinst @@ -1,19 +1,4 @@ #! /usr/bin/perl -# -*- Mode: Cperl -*- -# image.preinst --- -# Author : Manoj Srivastava ( srivasta@tiamat.datasync.com ) -# Created On : Sun Jun 14 03:38:02 1998 -# Created On Node : tiamat.datasync.com -# Last Modified By : Manoj Srivastava -# Last Modified On : Sun Sep 24 14:04:42 2006 -# Last Machine Used: glaurung.internal.golden-gryphon.com -# Update Count : 99 -# Status : Unknown, Use with caution! -# HISTORY : -# Description : -# -# - # #use strict; #for debugging @@ -27,7 +12,6 @@ $|=1; my $version = "=V"; my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly -my $reverse_symlink = "=R"; # Should be empty, mostly my $do_symlink = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly my $image_dir = "=D"; # where the image is located @@ -38,28 +22,15 @@ my $ignore_depmod_err = ''; # normally we do not my $relink_src_link = 'YES'; # There is no harm in checking the link my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # There is no harm in checking the link -my $official_image = "=OF"; # only true for official images -my $arch = "=A"; # should be same as dpkg --print-installation-architecture +my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $ramdisk = "=MK"; # List of tools to create initial ram fs. -my $initrddep = "=MD"; # List of dependencies for such tools my $package_name = "=ST-image-$version"; #known variables -my @boilerplate = (); -my @silotemplate = (); -my @quiktemplate = (); -my @palotemplate = (); -my @vmelilotemplate = (); -my $bootdevice = ''; -my $rootdevice = ''; -my $rootdisk = ''; -my $rootpartition = ''; my $image_dest = "/"; my $realimageloc = "/$image_dir/"; -my $have_conffile = ""; my $CONF_LOC = '/etc/kernel-img.conf'; -my $relative_links = ''; my $modules_base = '/lib/modules'; @@ -79,92 +50,36 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { s/\#.*$//g; next if /^\s*$/; - $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/ig; - $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/ig; - $reverse_symlink = "" if /reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; - $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/ig; - $relative_links = '' if /relative_links \s*=\s*(no|false|0)\s*$/ig; - $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/ig; - $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/ig; - $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/ig; - $relink_src_link = '' if /relink_src_link\s*=\s*(no|false|0)\s*$/ig; - $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/ig; - $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/ig; - - $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $reverse_symlink = "Yes" if /reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/ig; - $relative_links = "Yes" if /relative_links\s*=\s*(yes|true|1)\s*$/ig; - $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/ig; - $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/ig; - $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/ig; - $relink_src_link = 'Yes' if /relink_src_link\s*=\s*(yes|true|1)\s*$/ig; - $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/ig; - $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/ig; - - $image_dest = "$1" if /image_dest\s*=\s*(\S+)/ig; - $preinst_hook = "$1" if /preinst_hook\s*=\s*(\S+)/ig; - $ramdisk = "$1" if /ramdisk\s*=\s*(.+)$/ig; + $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/i; + $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/i; + $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/i; + $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/i; + $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/i; + $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/i; + $relink_src_link = '' if /relink_src_link\s*=\s*(no|false|0)\s*$/i; + $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/i; + $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/i; + + $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/i; + $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/i; + $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/i; + $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/i; + $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/i; + $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/i; + $relink_src_link = 'Yes' if /relink_src_link\s*=\s*(yes|true|1)\s*$/i; + $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/i; + $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/i; + + $image_dest = "$1" if /image_dest\s*=\s*(\S+)/i; + $preinst_hook = "$1" if /preinst_hook\s*=\s*(\S+)/i; + $ramdisk = "$1" if /ramdisk\s*=\s*(.+)$/i; } close CONF; - $have_conffile = "Yes"; - $have_conffile = "Yes"; # stop perl complaining } } $ENV{KERNEL_ARCH}=$kernel_arch if $kernel_arch; -# About to upgrade this package from version $2 TO THIS VERSION. -# "prerm upgrade" has already been called for the old version of -# this package. - -sub find_inird_tool { - my $ramdisk = shift; - my (@ramdisks, $initramfs_cmd); - - foreach $initramfs_cmd (split(/[:,\s]+/, $ramdisk)) { - if (system("test -x \"\$(command -v $initramfs_cmd)\"") == 0) { - push(@ramdisks, $initramfs_cmd); - } - } - return @ramdisks; -} - -chomp (my $hostversion = `uname -r`); -my @ramdisklist; -@ramdisklist = find_inird_tool($ramdisk) if $ramdisk; -if ($#ramdisklist < 0) { - my $ret; - my $seen; - my $text = "${package_name}/preinst/initrd-$version"; - ($ret,$seen) = fset ("$text", 'seen', 'false'); - die "Error setting debconf flags in $text: $seen" if $ret; - - ($ret,$seen) = subst("$text", 'hostversion', "$hostversion"); - die "Error setting debconf substitutions in $text: $seen" if $ret; - - ($ret,$seen) = subst("$text", 'ramdisk', "$ramdisk"); - die "Error setting debconf substitutions in $text: $seen" if $ret; - - ($ret,$seen) = subst("$text", 'initrddep', "$initrddep"); - die "Error setting debconf substitutions in $text: $seen" if $ret; - - ($ret,$seen) = input('medium', "$text"); - if ($ret && $ret != 30 ) { - die "Error setting debconf question $text: $seen"; - } - - ($ret,$seen) = go (); - if ($ret && $ret != 30 ) { - die "Error asking debconf question $text: $seen"; - } - # I no longer claim this question - ($ret,$seen) = unregister("$text"); - die "Error unregistering debconf question $text: $seen" if $ret; - warn "Could not find $ramdisk."; -} - sub check { my $version = shift; @@ -214,11 +129,9 @@ if (-d "$modules_base/$version") { warn "Info:\n$errors\n" if $errors; } -if ($official_image =~ /^\s*YES\s*$/o ) { - if (-d "$modules_base/$version" && -l "$modules_base/$version/build" ) { - rename("$modules_base/$version/build", "$modules_base/$version/build.save") || - die "failed to move $modules_base/$version/build:$!"; - } +if (-d "$modules_base/$version" && -l "$modules_base/$version/build" ) { + rename("$modules_base/$version/build", "$modules_base/$version/build.save") || + die "failed to move $modules_base/$version/build:$!"; } # set the env var stem @@ -271,6 +184,13 @@ sub run_hook { } +my $options; +for (@ARGV) { + s,','\\'',g; + $options .= " '$_'"; +} +$ENV{'DEB_MAINT_PARAMS'}="$options"; + ## Run user hook script here, if any if (-x "$preinst_hook") { &run_hook("preinst", $preinst_hook); diff --git a/templates/temp.image.plain/prerm b/templates/temp.image.plain/prerm index d419ca1..5db52c9 100755 --- a/templates/temp.image.plain/prerm +++ b/templates/temp.image.plain/prerm @@ -1,20 +1,4 @@ #! /usr/bin/perl -# -*- Mode: Perl -*- -# image.prerm --- -# Author : root ( root@melkor.pilgrim.umass.edu ) -# Created On : Fri May 17 03:28:59 1996 -# Created On Node : melkor.pilgrim.umass.edu -# Last Modified By : Manoj Srivastava -# Last Modified On : Sat Aug 5 13:14:17 2006 -# Last Machine Used: glaurung.internal.golden-gryphon.com -# Update Count : 85 -# Status : Unknown, Use with caution! -# HISTORY : -# Description : -# -# -# $Id: image.prerm,v 1.22 2003/10/07 16:24:20 srivasta Exp $ -# # #use strict; use Debconf::Client::ConfModule qw(:all); @@ -26,7 +10,6 @@ $|=1; my $version = "=V"; my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly -my $reverse_symlink = "=R"; # Should be empty, mostly my $do_symlinks = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined @@ -39,8 +22,7 @@ my $minimal_swap = ''; # Do not swap symlinks my $ignore_depmod_err = ''; # normally we do not my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # There is no harm in checking the link -my $official_image = "=OF"; # only true for official images -my $arch = "=A"; # should be same as dpkg --print-installation-architecture +my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $package_name = "=ST-image-$version"; @@ -62,10 +44,7 @@ my $temp_file_name = "/var/log/$loader" . "_log.$$"; #known variables my $image_dest = "/"; my $realimageloc = "/$image_dir/"; -my $have_conffile = ""; my $CONF_LOC = '/etc/kernel-img.conf'; -my $relative_links = ''; -my $silent_loader = ''; # remove multiple leading slashes; make sure there is at least one. $realimageloc =~ s|^/*|/|o; @@ -102,42 +81,35 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { s/\#.*$//g; next if /^\s*$/; - $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/ig; - $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/ig; - $reverse_symlink = "" if /reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; - $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/ig; - $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/ig; - $relative_links = '' if /relative_links \s*=\s*(no|false|0)\s*$/ig; - $do_bootloader = '' if /do_bootloader\s*=\s*(no|false|0)\s*$/ig; - $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/ig; - $silent_loader = '' if /silent_loader\s*=\s*(no|false|0)\s*$/ig; - $warn_reboot = '' if /warn_reboot\s*=\s*(no|false|0)\s*$/ig; - $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/ig; - $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/ig; - $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/ig; - $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/ig; - - - $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $reverse_symlink = "Yes" if /reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/ig; - $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; - $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/ig; - $relative_links = "Yes" if /relative_links\s*=\s*(yes|true|1)\s*$/ig; - $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/ig; - $silent_loader = 'Yes' if /silent_loader\s*=\s*(yes|true|1)\s*$/ig; - $warn_reboot = 'Yes' if /warn_reboot\s*=\s*(yes|true|1)\s*$/ig; - $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/ig; - $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/ig; - $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/ig; - $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/ig; - - $image_dest = "$1" if /image_dest\s*=\s*(\S+)/ig; - $prerm_hook = "$1" if /prerm_hook\s*=\s*(\S+)/ig; + $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/i; + $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/i; + $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/i; + $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/i; + $do_bootloader = '' if /do_bootloader\s*=\s*(no|false|0)\s*$/i; + $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/i; + $warn_reboot = '' if /warn_reboot\s*=\s*(no|false|0)\s*$/i; + $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/i; + $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/i; + $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/i; + $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/i; + + + $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/i; + $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/i; + $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/i; + $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/i; + $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/i; + $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/i; + $warn_reboot = 'Yes' if /warn_reboot\s*=\s*(yes|true|1)\s*$/i; + $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/i; + $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/i; + $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/i; + $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/i; + + $image_dest = "$1" if /image_dest\s*=\s*(\S+)/i; + $prerm_hook = "$1" if /prerm_hook\s*=\s*(\S+)/i; } close CONF; - $have_conffile = "Yes"; } } @@ -184,7 +156,7 @@ if ($running eq $version) { chdir("/") or die "could not chdir to /:$!\n"; if (-f "/etc/$loader.conf") { #I know, could be a link, but .. - open (LILO, "/etc/$loader.conf") || &success(); # this is not critical + open (LILO, "/etc/$loader.conf"); # this is not critical while (<LILO>) { chop; s/\#.*//; # nix the comments @@ -198,11 +170,11 @@ if (-f "/etc/$loader.conf") { #I know, could be a link, but .. $WouldInvalidate |= $image =~ /$kimage-$version/; } else { - &success(); # invalid $loader.conf file + last; # invalid $loader.conf file } } else { - &success(); # invalid $loader.conf file + last; # invalid $loader.conf file } } close (LILO); @@ -237,7 +209,6 @@ if (-f "/etc/$loader.conf") { #I know, could be a link, but .. } else { print STFERR "Ok, proceeding with removing running kernel image.\n"; - &success(); } } } @@ -293,6 +264,13 @@ sub run_hook { } +my $options; +for (@ARGV) { + s,','\\'',g; + $options .= " '$_'"; +} +$ENV{'DEB_MAINT_PARAMS'}="$options"; + ## Run user hook script here, if any if (-x "$prerm_hook") { &run_hook("prerm", $prerm_hook); @@ -311,14 +289,5 @@ if (-d "/etc/kernel/prerm.d/$version") { die "Failed to process /etc/kernel/prerm.d/$version"; } -sub success () { - -f "/lib/modules/$version/modules.dep" && - unlink "/lib/modules/$version/modules.dep"; - exit 0; -} - - - -&success(); exit 0; __END__ diff --git a/templates/temp.image.plain/templates b/templates/temp.image.plain/templates index 99149f2..8be8fd2 100644 --- a/templates/temp.image.plain/templates +++ b/templates/temp.image.plain/templates @@ -1,17 +1,3 @@ -Template: =ST-image-=V/preinst/initrd-=V -Type: text -Description: Initial RAMdisk image generation impossible - You are attempting to install an initrd kernel image (version - =V) on a machine currently running kernel version - ${hostversion}. - . - No suitable tool for generating initrd images was found in - ${ramdisk} and therefore no initrd image can be generated. - This will break the installation, unless such tools are also being installed - right now. Suitable tools: - . - ${initrddep} - Template: =ST-image-=V/postinst/depmod-error-initrd-=V Type: boolean Default: false @@ -91,3 +77,17 @@ Description: Abort kernel removal? . It is highly recommended to abort the kernel removal unless you are prepared to fix the system after removal. + +Template: =ST-image-=V/postinst/missing-firmware-=V +Type: note +Description: Required firmware files may be missing + This system is currently running Linux ${runningversion} and you are + installing Linux ${version}. In the new version some of the drivers + used on this system may require additional firmware files: + . + ${missing} + . + Most firmware files are not included in the Debian system because + no source code is available for them. You may need to reconfigure + the package manager to include the non-free section of the Debian + archive before you can install these firmware files. |