| Age | Commit message (Collapse) | Author |
|
All <linux/hdreg.h> users that need <linux/ata.h> have been fixed
to include it directly.
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
* Move HD_IRQ define to drivers/block/hd.c (only user).
* Remove unused *_STAT, *_ERR, HD_*, CD, IO, REL and TAG_MASK defines.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
HDIO_GET_IDENTITY returns 256 words currently.
Noticed by Norman Diamond.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
hdparm explicitely marks HDIO_[UNREGISTER,SCAN]_HWIF ioctls as DANGEROUS
and given the number of bugs we can assume that there are no real users:
* DMA has no chance of working because DMA resources are released by
ide_unregister() and they are never allocated again.
* Since ide_init_hwif_ports() is used for ->io_ports[] setup the ioctls
don't work for almost all hosts with "non-standard" (== non ISA-like)
layout of IDE taskfile registers (there is a lot of such host drivers).
* ide_port_init_devices() is not called when probing IDE devices so:
- drive->autotune is never set and IDE host/devices are not programmed
for the correct PIO/DMA transfer modes (=> possible data corruption)
- host specific I/O 32-bit and IRQ unmasking settings are not applied
(=> possible data corruption)
- host specific ->port_init_devs method is not called (=> no luck with
ht6560b, qd65xx and opti621 host drivers)
* ->rw_disk method is not preserved (=> no HPT3xxN chipsets support).
* ->serialized flag is not preserved (=> possible data corruption when
using icside, aec62xx (ATP850UF chipset), cmd640, cs5530, hpt366
(HPT3xxN chipsets), rz1000, sc1200, dtc2278 and ht6560b host drivers).
* ->ack_intr method is not preserved (=> needed by ide-cris, buddha,
gayle and macide host drivers).
* ->sata_scr[] and sata_misc[] is cleared by ide_unregister() and it
isn't initialized again (SiI3112 support needs them).
* To issue an ioctl() there need to be at least one IDE device present
in the system.
* ->cable_detect method is not preserved + it is not called when probing
IDE devices so cable detection is broken (however since DMA support is
also broken it doesn't really matter ;-).
* Some objects which may have already been freed in ide_unregister()
are restored by ide_hwif_restore() (i.e. ->hwgroup).
* ide_register_hw() may unregister unrelated IDE ports if free ide_hwifs[]
slot cannot be found.
* When IDE host drivers are modular unregistered port may be re-used by
different host driver that owned it first causing subtle bugs.
Since we now have a proper warm-plug support remove these ioctls,
then remove no longer needed:
- ide_register_hw() and ide_hwif_restore() functions
- 'init_default' and 'restore' arguments of ide_unregister()
- zeroeing of hwif->{dma,extra}_* fields in ide_unregister()
As an added bonus IDE core code size shrinks by ~3kB (x86-32).
v2:
* fix ide_unregister() arguments in cleanup_module() (Andrew Morton).
v3:
* fix ide_unregister() arguments in palm_bk3710.c.
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
Signed-off-by: Paulius Zaleckas <pauliusz@yahoo.com>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
|
|
* ->nice0 and ->nice2 ide_drive_t fields are always zero so remove them.
* IDE_NICE_0 and IDE_NICE_2 defines from <linux/hdreg.h> are no longer
used by any kernel code so cover them with #ifndef/#endif __KERNEL__.
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
* Add 'data_buf' and 'nsect' variables in ide_taskfile_ioctl()
to cache data buffer pointer and number of sectors to transfer
(this allows us to have only one ide_diag_taskfile() call).
* Add IDE_TFLAG_WRITE taskfile flag and use it to check whether
the REQ_RW request flag should be set.
* Move ->command_type handling from ide_diag_taskfile() to
ide_taskfile_ioctl() and use ->req_cmd instead of ->command_type.
* Add 'nsect' parameter to ide_raw_taskfile().
* Merge ide_diag_taskfile() into ide_raw_taskfile().
* Initialize ->data_phase explicitly in idedisk_prepare_flush(),
ide_start_power_step() and ide_disk_special().
* Remove no longer needed 'command_type' field from ide_task_t.
* Add #ifndef/#endif __KERNEL__ to <linux/hdreg.h> around no
longer used by kernel IDE_DRIVE_TASK_* and TASKFILE_* defines.
There should be no functionality changes caused by this patch.
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
Remove atapi_error_t.
While at it:
* replace 'HWIF(drive)' by 'drive->hwif'
v2:
* Add {ILI,EOM,LFS}_ERR defines to <linux/hdreg.h>.
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
* Don't set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7]
in idedisk_set_max_address_ext().
* Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[]
and hobRegister[].
* Remove no longer needed IDE_CONTROL_OFFSET_HOB define.
* Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t.
While at it:
* Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo.
v2:
* Add missing newlines. (Noticed by Sergei)
* Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei)
* Use unnamed unions for error/feature and status/command.
(Suggested by Sergei).
There should be no functionality changes caused by this patch.
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
Remove task_ioreg_t typedef from the kernel code (but leave it
in <linux/hdreg.h> for #ifndef/#endif __KERNEL__ case).
While at it also move sata_ioreg_t typedef under #ifndef/#endif __KERNEL__.
v2:
Remove name of the second parameter from ide_execute_command() declaration.
(Noticed by Sergei).
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
Use __u8 rather than u8 in SIZE defines exported to userspace.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
flagged_taskfile() is called from execute_drive_cmd()
(the only user) only if args->tf_out_flags.all != 0.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
As of 2.6.10-rc3, the following is needed to allow various userland
packages (sysvinit, dhcp, ppp, libcap, libpcap, lilo) to compile as parts
that userland needs (e.g. for ioctls) is in files with stuff userland
isn't allowed to see.
This adds __KERNEL__ around <linux/ata.h> and some defines (<linux/ata.h>
isn't needed by userland, and is unhappy right now). sysvinit and some
other packages need <linux/hdreg.h> for HDIO_DRIVE_CMD and other IOCTL
things. In <linux/types.h> we were unsafely typedef'ing __le64/__be64 as
__u64 only exists when __GNUC__ && !__STRICT_ANSI__ (causing libcap to
fail, for example). Finally, <asm/atomic.h> provides routines userland
simply cannot use on all arches, but <linux/filter.h> is needed by iputils
for example. While not all arches put __KERNEL__ around their header, on
MIPS including this header currently blows up the build.
Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Signed-off-by: Chris Wedgwood <cw@f00f.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|
As noticed by Alan Cox:
"It doesn't work now so it clearly isnt being used 8). We hold the lock
because its a proc function and we then replace the proc functions in the
attach method -> deadlock. It is also incredibly hard to fix without a
major rewrite."
The same is true for HDIO_SET_IDE_SCSI ioctl.
Both were broken 18 months ago in 2.5.63 as a side-effect of locking fixes.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
HDIO_GETGEO_BIG_RAW is an ide specific hack introduced in 2.3.99-pre3.
There are no known programs using this ioctl.
Its aim was to provide current CHS translation to the user-space,
but very often it provides what driver thinks is a current translation
(drive with LBA have to support only one physical translation, also
drive may not support chosen translation and there is no return value check).
hdparm -I can be used instead, it provides correct information
(and bogus data is still accessible through /proc/ide/hdX/geometry).
|
|
|
|
|
|
cpqarray uses disk_alloc instead of alloc_disk. Same typo is in cciss,
rd.c sets ->first_minor to 0 for all units and HD_IRQ definition is
needed if CONFIG_BLK_DEV_HD is defined.
|
|
Update hdreg to match 2.4 levels.
o Use consistent SRV_STAT instead of SERVICE_STAT
o Add sector count status bits for tcq
o Add various missing commands
o hd_driveid update
|
|
bit of cleaning later.
|
|
- typedef unsigned char byte; is finally gone. Everything using it should
be just ported to u8 if I missed some place where it still gets used.
- Next round of parameter parsing cleanups by Gerald Champagne.
Adjusted a bit to harmonize with hd.c.
- Move IDE register bitfields declarations over from hdparm.h to
ide.h.
- Declare constants needed by hd.c directly there. Those are standard
values not subject to change and we prefer a bit of code duplication
in favour of making the two drivers independant from each other.
- Move everything not ioctl related away from hdreg.h to ide.h.
This header is in effect not private to the ATA code and should
therefore not contain stuff only usefull there.
|
|
- Make the bit-sliced data types in hdreg.h use the bit-slice data types
instead of the generic ones. This makes clear that those are supposed
to be register masks.
|
|
- Sanitize the handling of the ioctl's and fix a bug on the way in dealing with
the WIN_SMART command where arguments where exchanged.
- Finally sanitize ioctl further until it turned out that we could get rid of
the special request type REQ_DRIVE_CMD entierly. We are now using
consistently REQ_DRIVE_ACB.
One hidden code path less again!
- Realize the ide_end_drive_cmd can be on the REQ_DRIVE_ACB only for ioctl() to
a disk. Eliminate it's usage from device type driver modules.
- Remove command member from struct hd_drive_task_hdr and place it in strcut
ata_taskfile. It is not common between the normal register file and HOB.
We will have to introduce some helper functions for particular command types.
|
|
- Fix typo in sparc_v9 code, in ns87415, just introduced.
- Eliminate unnecessary struct hd_drive_hob_hdr those are
in reality precisely the same registers as usual.
- Eliminate control_t, nowhere used type.
- Unfold ide_init_drive_cmd() at the places where it's used. This makes obvious
that REQ_DRIVE_CMD gets only used on the ioctl command path.
|
|
- Merge ide-probe.c and ide-features.c in to one single file. They are
mutually doing basically the same and in esp. in case of the device ID
retrieval there *is* quite a lot of code duplication between them.
ide-geometry.c fits there as well.
- Remove ide_xfer_verbose - it wasn't really used.
- Don't allow check_partition to be more clever then the writer of a driver.
It was interfering with drivers which check partitions as they go and
finally if we want to spew something about it - we can do it ourself.
- Eliminate ide_geninit(). We scan for partitions now inside the recently
introduced attach method. register_disk() is broken by the way and 90% of
places where it's used it is doing literally nothing. Either some one didn't
finish some code or the code is basically just junk from the past.
Anyway we grok the partitions now one by one as we detect the channels.
- ide_driveid_update is gone. We don't report the drive id through /proc/ide
and we don't have to update it any longer on the fly. Still someone out there
complaining that it went away!?
- Use the global driver spin-lock to protect data structure access in the
ide_register_subdriver() function instead of blatantly disabling all
interrupts.
|
|
Basically PCI driver handling reorganization. This is one step further
ahead toward the goal of fully modularized host chip drivers.
- Adjust ide-scsi to the new error handling. Just don't try any device
resets there.
- Add unmasking of IRQ per default to the PMac PCI code.
- Split up the crap table from ide-pci. Let the corresponding drivers do
registration of the functions they provide. This small change makes
this patch rather big.
- Hard-code the number of ports requested for DMA engines. They are always
precisely 8 on PCs. If you hove something different to deal with,
well then please just provide your own init_dma method.
- Remove the HDIO_GETGEO_BIG ioctl. Patch by Andries Brouwer. Applies
unmodified.
- Make ON_BOARD be equal 0, so we can spare ourself some typing in structure
initialization.
- Normalize the terminology in the host chip drivers. It will make spotting
the tons of common code found there later easier.
|
|
- Update HPT374 driver carried over from 2.4.xx series by Andrew Morton.
Resync it with the recent host chip driver changes, or better the
introduction of an API at all.
- Consolidate the handling of device ID byte order in one place.
This was spotted and patched by Bartomiej onierkiewicz.
- Eliminate CONFIG_BLK_DEV_IDEPCI - it's duplicating the functionality of the
already present and fine CONFIG_PCI flag and if we are a PCI host, we are
indeed very likely to need host chip support anyway.
- Remove some redundant info about the model and channel number from
/proc/ide. Remove the binary entries not helpful to the user, and not used
by any program and redundant to corresponding ioctls.
- Properly return udma_read and udma_write values in taskfile.
- Only initialize XXX_udma to the default handlers if it has not been
initialized by the host chip initialization.
I have enabled spin lock debugging and can see that on device
flush the spin locks get wrong counts... no problems elsewher ethus
far. I will re check them next time around.
|
|
Tue Apr 30 13:23:13 CEST 2002 ide-clean-48
This fixes the "performance" degradation partially, becouse we don't
miss that many jiffies in choose_urgent_device() anymore. However
choose_urgent_device has to be fixed for the off by one error to don't
loop for a whole 1/100 second before submitting the next request.
- Include small declaration bits for Jens. (WIN_NOP fix in esp.)
- Fix ide-pmac to conform to the recent API changes.
- Prepare and improve the handling of the request queue. It sucks now as many
request as possible. This is improving the performance.
|
|
- Streamline the usage of sector_t over the strategy routines in question a
bit. Streamline the do_request code in ide-disk.c.
- Improve the readability of start_request in ide.c.
- Remove obsolete/nowhere used stuff from hdreg.h.
- Splitup special_t into classical flag field.
- Use only a single field to determine the capacity of a drive. Make this
field and the code paths it follows as far as possible use the sector_t
instead of a hard coded integer types. This increases the chances that at
some distant point in time we will indeed be able to use 64 bit wide sector_t
entities. (Disks are getting huge those times now...)
|
|
- Revoke the TCQ stuff. Well having it for some time showed just nicely what
has to be done before it can be included cleanly. But it's just not ready
yet.
For more explanations please simply track the usage of the special field of
struct request - *both* in the generic request handling code and in overall
driver code.
|
|
- Fix typo in ide_cmd_ioctl().
- Fix typo in cris driver.
- Don't retry operations on medium errors. (pointed out by Eric Andersen).
- Attach the no_io_32bit, io_32bit, no_unmask, unmask and slow fields to the
ata_channel instead of the ata_device structure. They are a property of the
channel and not just the devices attached to it. This allowed us to fix the
set_io_32bit function by removing the CONFIG_BLK_DEV_DTC2278 conditional. In
fact initialization shows that this is fixing many other host chipsets as
well since all of them did expect sometimes particular values for those
parameters in paralell on both drives attached to a channel but we where
allowed to apply different values on a per drive basis.
- The keep_settings flag is now unconditional and we don't mess with any
channel parameters before drive reset. Some chipsets really really expect
unconditionally that the tweaks they apply are always present and this wasn't
honoured thus far! We are expecting the user to have good reasons for
manually tweaking the settings.
- Don't reset io_32bit in ata_pre_reset() unconditionally. There are chipsets
out there which expect io_32bit to be *allways* enabled!
- Remove many obsolete and nawadays just confusing documentation from ide.txt
|
|
- Integrate the TCQ stuff from Jens Axboe. Deal with the conflicts, apply some
cosmetic changes. We are still not at a stage where we could immediately
integrate ata_request and ata_taskfile but we are no longer far away.
- Clean up the data transfer function in ide-disk to use ata_request structures
directly.
- Kill useless leading version information in ide-disk.c
- Replace the ATA_AR_INIT macro with inline ata_ar_init() function.
- Replace IDE_CLEAR_TAG with ata_clear_tag().
- Replace IDE_SET_TAG with ata_set_tag().
- Kill georgeous ide_dmafunc_verbose().
- Fix typo in ide_enable_queued() (ide-tcq.c!)
Apparently there still problems with a TCQ enabled device and a not enabled
device on the same channel, but let's first synchronize up with Jens.
|
|
- Make for less terse error messages in ide-tape.c.
- Replaced all timecomparisions done by hand with all the proper timer_after()
commands.
- Remove the drive niec1 mechanisms alltogether. There are several reasons for
this:
1. The code implementing it is nonintelliglible and therefore propably
broken.
2. If we have to invent somethig about sceduling drive IO, it should be done
on the BIO level.
3. We may in fact interleave with the IO sceduling on the upper layers and
the results of two overlapping signal filters overlapped with each other can
be disasterous to the overall throughput. (In fact they *are* most of the
time.)
4. It was not working if you had intermixed modes on different drives
DMA versus PIO.
5. Our goal is to have a driver which is able to share the badwidth
properly and shouldn't needing this kind of "tuning".
- Remove unused nice2 from disk struct.
- Rename channel member of ata_channel to unit and device to dev to
just prevent wrong interpretations. This prevents constructs like
channel->channel...
|
|
- Replace the task_io_reg_t with the simple u8. There is no need to obfuscate
the code more then necessary.
- kill some unnecessary type definitions out from hdreg.h.
- Add proper attributes to register files in hdreg.h.
- Don't use raw arrays for tfRegister and hobRegister in ide_task_s. Use out
nice global structures describing the fields in them. This allows to kill
the following defines:
IDE_DATA_OFFSET
IDE_FEATURE_OFFSET
IDE_NSECTOR_OFFSET
IDE_SECTOR_OFFSET
IDE_LCYL_OFFSET
IDE_HCYL_OFFSET
IDE_SELECT_OFFSET
IDE_COMMAND_OFFSET
and many many others.
- Please have a look at the following in pdc4030.c. It couldn't have worked!
This has been fixed in one go with the above change:
memcpy(args.hobRegister, NULL, sizeof(struct hd_drive_hob_hdr));
- Kill the redundant *_REG_HOB definitions. They don't help readability in any
way.
|
|
If I was to give this patch a name it would be:
"Vojtech Pavlik unleashed from the chains".
So credit where credit is due :-).
Anyway here follows the change log:
Mon Mar 11 23:48:28 CET 2002 ide-clean-21
- Swallow rewritten amd74xx host chip setup code from Vojtech Pavlik. We can
revert it easly if it turns out to be a bad thing. However the code looks
quite sane to me. In esp. it doesn't containg that many magic numbers.
- Clean stale white spaces in ide-timing.h tirvial fix.
- Make ide_release_dma return void. It's value is never used anyway.
- Swallow more timing setup code cleanup by Vojtech Pavlik. Apply some
cosmetics to it. Port opti621 to the new setup code.
- Kill abuse of ide_do_reset() on error return paths for atapi floppy tape and
cd-rom devices. Just stop them. This gives better changes that defect
removable media will not cause suddenly broken timings on hard discs
containing system data! Even then comments in ide_do_reset() admit, that
resetting the whole channel can have adverse effects on the second interface
on this channel. And I have too frequently observed linux struggling on
defect cd-rom for a far too long time to wish it to continue.
Oh did I forget to say that the corresponding "how can I break my system fast
and reliable" ioctl is gone as well?
Removing it recovered the fact that the CONFIG_BLK_DEV_IDEDMA_TIMEOUT is
completely bogous. I have removed this option therefore as well, because it's
playing the same wrack havoc on the devices if enabled. This cat has been in
an unfinished and *unfunctional* state anyway.
- Actually add physical suspend code to the power handling code. Still the
resume code isn't finished just jet. This is all subject to change at the
point in time when we get to proper command queueing.
I think however that Pavel will be interrested in tidding this bit up...
- Resync with 2.5.7-pre1.
|
|
No fixes for new problems which occured since today, just syncup.
- Remove help text about suitable compiler versions, which is obsoleted
by the overall kernel reality.
- Remove traces of not progressing work in progress code for the
CONFIG_BLK_DEV_ADMA option as well as the empty ide-adma.c file as
well as CONFIG_BLK_DEV_IDEDMA_TCQ.
- Remove redundant CONFIG_BLK_DEV_IDE != n check in ide/Config.in. Hugh,
this is a tricky one...
- Add EXPORT_SYMBOL(ide_fops) again, since it's used in ide-cd.c add a
note there that this is actually possibly adding the same device twice
to the devfs stuff.
- Finally change the MAINTAINER entry. Just too many persons bogged me
about it and it doesn't take me too much time apparently.
- Apply sis.patch.20020304_1.
- Don't call ide_release_dma twice in cleanup_ata, since ide_unregister
is already calling it for us. Change prototype of ide_unregister to
take a hwif as parameter and disable an ioctl for removing/scanning
hwif from the list of handled interfaces. I see no reasons for having
it and doing it is the fastest DOS attack on my home system I know
about it. Contrary to the comments found here and there, hdparm
doesn't use it. There are better hot plugging interfaces coming to the
kernel right now anyway.
- Wrap invalidate_drives in ide_unregister under the ide_lock instead of
disabling and enabling interrupts during this operation. There are
plenty of other places where the IDE drivers are enabling and
disabling interrupts just to protect some data structures.
- Don't call destroy_proc_ide_drives(hwif) for every single drive out
there.This routine takes a hwif as a parameter.
- Resync with the instable 2.5.6...
|
|
This is actually an attempt to remove some stall code from
this driver. However if some *real* users complain (Not just
the usuall: "Hey - if someone!" but the "Hey I'm using this!")
I'm all open to reenable it. Since I prepared this patch
yerstoday it doesn't contain the ide_module.h fixup. This will
follow later.
- Don't use the convoluted byte type in ide-pci.c. Just use the proper
u8instead.
- Move ide_get_or_set_dma_base to the only place where it's used and
reorganize the code there by killing the unnecessary
CONFIG_BLK_DEV_IDEDMA_FORCED configuration option.
- Remove unfunctional CONFIG_PKT_TASK_IOCTL code.
- Kill unused ALTSTAT_SCREW_UP code.
- Tons of dead code removed from ide-taskfile.c (#if 0 #endif and
friends)
- Remove unused IDE_DEBUG macro as well as lots of other name space
pollution from ide.h.
- Start using the ide_lock spin-lock for protecting access to data
structures instead of the excessive interrupt disabling games.
- Shorten the proc ouput of the piix initialization module.
- Remove special /proc tape "name" output from ide-tape.c. This was
redundant data which should only show up on syslog anyway.
- Kill the REALLY_FAST_IO undef from the ide.h. This was a mistake
present since far too many years in this driver. The proper way to
deal with broken systems is to define REALLY_SLOW_IO in system
dependent headers or particular driver files. We can always
reintroduce it easy if real users will complain, since OUT_BYTE() and
similar can be used as hooks. But I don't expect anybody reporting
about this. Even on the most broken IDE chip in the world (cmd640
at VLB) undefining this *always* worked for me. Nearly all the code
pieces in the ide driver code *reverted* it's effects explicitly
anyway.
- Remove the obsolete CONFIG_BLK_DEV_4DRIVES support. This was supposed
to support 4 drivers attached at one channel on some older chipsets,
in esp. Tekram 690CD, in the last century. They where all supposed to
work at a register set starting at the base address 0x1f0. Before
complaining that this is removing functionality, please note that this
must have been broken for already quite a long time, since the ide
driver didn't contain the special device selection methods implicated
by this any longer. It didn't scan this port too if PCI host chip
support was enabled (as it is in all those distributions around
there). On the other hand this is the most prominent case of
incoherent use of the mate member in the struct hwif_s. And please
think about how big the probability is, that there are systems out
there, where there are actually 4 drivers on such a channel?
- Streamline module initialization code by removing one shoot functions.
- Make the WAIT_READY value used in case of CONFIG_APM or
CONFIG_APM_MODULE the default, since this is what really reflects the
behavior of modern drives. It won't hurt any other case and finally
removing it is reducing the necessary coverage for overall driver code
testing/analysis.
- Move the IDE_LARGE_SEEK macro to the only place where it's actually
used. Replace the IDE_MIN() and IDE_MAX() drivers with the obvious.
Remove unused SPLIT_WORD and MAKE WORD from the local header.
- Remove CMD640_DUMP_REGS from global scope, since there is no
development done on this any longer. Finally, the way the host chip
initialization routines are called changed in the time between allows
this to remain fully local to the host chip driver in question.
- Some spell checking of comments in the code. (Yeep I have extended my
Vim to do this the "Word" way with nice undercurl lines... mozilla
remains to be fixed...)
|
|
- Al Viro: fix up silly problem in swapfile filp cleanups in 2.5.2
- Tachino Nobuhiro: fix another error return for swapfile filp code
- Robert Love: merge some of Ingo's scheduler fixes
- David Miller: networking, sparc and some scsi driver fixes
- Tim Waugh: parport update
- OGAWA Hirofumi: fatfs cleanups and bugfixes
- Roland Dreier: fix vsscanf buglets.
- Ben LaHaise: include file cleanup
- Andre Hedrick: IDE taskfile update
|
|
- merge with Alan (irda, s390, mips64, chris, sk98lin, mips/mm)
- rth: fix alpha RTC calibration
- Paul Mackerras: fix PPC typo
|
|
|