21 Mar, 2016
1 commit
-
The icside_probe function can be called for hotplugged devices, so
its reference to the __initconst icside_v6_port_info variable
may be invalid, as Kbuild points out:WARNING: drivers/ide/icside.o(.text+0x338): Section mismatch in reference from the function icside_probe()
to the (unknown reference) .init.rodata:(unknown)Interestingly, this problem only shows up with clang but not
with gcc, which optimizes out the __initconst variable.This removes the incorrect annotation.
Signed-off-by: Arnd Bergmann
Signed-off-by: David S. Miller
04 Jan, 2013
1 commit
-
CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
markings need to be removed.This change removes the use of __devinit, __devexit_p, __devinitdata,
__devinitconst, and __devexit from these drivers.Based on patches originally written by Bill Pemberton, but redone by me
in order to handle some of the coding style issues better, by hand.Cc: Bill Pemberton
Cc: "David S. Miller"
Signed-off-by: Greg Kroah-Hartman
06 Oct, 2012
1 commit
-
Signed-off-by: Andi Kleen
Cc: David Miller
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
07 Jun, 2012
2 commits
-
Use correct format string parameter for the peak datarate, and prevent
uninitialized use of cycle_time.Signed-off-by: Christian Dietrich
Signed-off-by: David S. Miller -
The icside driver can be configured without DMA support, but it
doesn't compile then, because DMA operations are referenced.drivers/ide/icside.c:523: error: 'icside_v6_port_ops' undeclared
drivers/ide/icside.c:522: error: 'icside_dma_init' undeclaredSigned-off-by: Christian Dietrich
Signed-off-by: David S. Miller
14 Oct, 2011
1 commit
-
Fix problem introduced by commit 5e37bdc ("ide: add struct
ide_dma_ops (take 3)"): d.dma_ops shouldn't be cleared if
we are going to use DMA.Signed-off-by: Bartlomiej Zolnierkiewicz
Signed-off-by: David S. Miller
03 Mar, 2010
1 commit
19 Jan, 2010
1 commit
-
Change ->set_dma_mode method parameters to match ->set_dmamode method
used in struct ata_port_operations.Signed-off-by: Bartlomiej Zolnierkiewicz
12 Jan, 2010
1 commit
-
Bring back ->maskproc method since it is still needed for proper operation,
as noticed by Russell King:> This change is bogus.
>
> writeb(0, base + ICS_ARCIN_V6_INTROFFSET_1);
> readb(base + ICS_ARCIN_V6_INTROFFSET_2);
>
> writeb(0, base + ICS_ARCIN_V6_INTROFFSET_2);
> readb(base + ICS_ARCIN_V6_INTROFFSET_1);
>
> This sequence of code does:
>
> 1. enable interrupt 1
> 2. disable interrupt 2
> 3. enable interrupt 2
> 4. disable interrupt 1
>
> which results in the interrupt for the second channel being enabled -
> leaving channel 1 blocked.
>
> Firstly, icside shares its two IDE channels with one DMA engine - so it's
> a simplex interface. IDE supports those (or did when the code was written)
> serializing requests between the two interfaces. libata does not.
>
> Secondly, the interrupt lines on icside float when there's no drive connected
> or when the drive has its NIEN bit set, which means that you get spurious
> screaming interrupts which can kill off all expansion card interrupts on
> the machine unless you disable the channel interrupt on the card.
>
> Since libata can not serialize the operation of the two channels like IDE
> can, the libata version of the icside driver does not contain the interrupt
> stearing logic. Instead, it looks at the status after reset, and if
> nothing was found on that channel, it masks the interrupt from that
> channel.This patch reverts changes done in commit dff8817 (I became confused due to
non-standard & undocumented ->maskproc method, anyway sorry about that).Noticed-by: Russell King
Signed-off-by: Bartlomiej Zolnierkiewicz
Signed-off-by: David S. Miller
16 Jun, 2009
1 commit
-
Change ide_drive_t 'drive_data' field from 'unsigned int' type to 'void *'
type, allowing a wider range of values/types to be stored in this field.Added 'ide_get_drivedata' and 'ide_set_drivedata' helpers to get and set
the 'drive_data' field.Fixed all host drivers to maintain coherency with the change in the
'drive_data' field type.Signed-off-by: Joao Ramos
[bart: fix qd65xx build, cast to 'unsigned long', minor Coding Style fixups]
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz
07 Jun, 2009
1 commit
-
[inspired by pata_icside]
Enabling/disabling of card IRQs is handled fine by IRQ and IDE
subsystems so there is no need for custom ->maskproc method.Moreover icside_maskproc() would enable IRQ only if it was already
enabled [because of 'if (state->enabled && !mask)' check].Signed-off-by: Bartlomiej Zolnierkiewicz
18 May, 2009
3 commits
-
Remove hw_regs_t typedef and rename struct hw_regs_s to struct ide_hw.
There should be no functional changes caused by this patch.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
Pass number of ports to ide_host_{alloc,add}() and then update
all users accordingly.v2:
- drop no longer needed NULL initializers in buddha.c, cmd640.c and gayle.c
(noticed by Sergei)There should be no functional changes caused by this patch.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
* Convert host drivers that still use hw_regs_t's chipset field to use
the one in struct ide_port_info instead.* Move special handling of ide_pci chipset type from ide_hw_configure()
to ide_init_port().* Remove chipset field from hw_regs_t.
While at it:
- remove stale comment in delkin_cb.cThere should be no functional changes caused by this patch.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz
17 May, 2009
1 commit
-
The second IDE channel of version 6 PCB is not being registered anymore since
the commit 48c3c1072651922ed153bcf0a33ea82cf20df390 (ide: add struct ide_host
(take 3)).Signed-off-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz
01 Apr, 2009
3 commits
-
Set/clear drive->waiting_for_dma flag in the core code
instead of in ->dma_setup and ->dma_end methods.There should be no functional changes caused by this patch.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
Move ide_destroy_dmatable() call out from ->dma_end method to
{ide_pc,cdrom_newpc,ide_dma}_intr(), ide_dma_timeout_retry()
and sgiioc4_resetproc().This causes minor/safe behavior changes w.r.t.:
* cmd64x.c::cmd64{8,x}_dma_end()
* cs5536.c::cs5536_dma_end()
* icside.c::icside_dma_end()
* it821x.c::it821x_dma_end()
* scc_pata.c::__scc_dma_end()
* sl82c105.c::sl82c105_dma_end()
* tx4939ide.c::tx4939ide_dma_end()v2:
* Fix build for CONFIG_BLK_DEV_IDEDMA=n (reported by Randy Dunlap).Cc: Randy Dunlap
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
All custom ->dma_timeout implementations call the generic one thus it is
possible to have only an optional method for resetting DMA engine instead:* Add ->dma_clear method and convert hpt366, pdc202xx_old and sl82c105
host drivers to use it.* Always use ide_dma_timeout() in ide_dma_timeout_retry() and remove
->dma_timeout method.* Make ide_dma_timeout() static.
There should be no functional changes caused by this patch.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz
27 Mar, 2009
6 commits
-
* Rename dma_timer_expiry() to ide_dma_sff_timer_expiry() and export it.
* Add ->dma_timer_expiry method and use it to set hwif->expiry for
ATA_PROT_DMA protocol in do_rw_taskfile().* Initialize ->dma_timer_expiry to ide_dma_sff_timer_expiry() for SFF hosts.
* Move setting hwif->expiry from ide_execute_command() to its users and drop
'expiry' argument.* Use ide_execute_command() instead of ->dma_exec_cmd in do_rw_taskfile().
* Remove ->dma_exec_cmd method and its implementations.
* Unexport ide_execute_command() and ide_dma_intr().
v2:
* Fix CONFIG_BLK_DEV_IDEDMA=n build (noticed by Randy Dunlap).* Fix *dma_expiry naming (suggested by Sergei Shtylyov).
There should be no functional changes caused by this patch.
Cc: Randy Dunlap
Cc: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
* Set IDE_TFLAG_WRITE flag and ->rq also for ATA_CMD_PACKET
commands.* Pass command to ->dma_setup method and update all its
implementations accordingly.* Pass command instead of request to ide_build_sglist(),
*_build_dmatable() and ide_map_sg().While at it:
* Fix scc_dma_setup() documentation + use ATA_DMA_WR define.
* Rename sgiioc4_build_dma_table() to sgiioc4_build_dmatable(),
change return value type to 'int' and drop unused 'ddir'
argument.* Do some minor cleanups in [tx4939]ide_dma_setup().
There should be no functional changes caused by this patch.
Acked-by: Borislav Petkov
Signed-off-by: Bartlomiej Zolnierkiewicz -
* Move command related fields from ide_hwif_t to struct ide_cmd.
* Make ide_init_sg_cmd() take command and sectors number as arguments.
There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
* Re-map sg table if needed in ide_build_sglist().
* Move ide_build_sglist() call from ->dma_setup to its users.
* Un-export ide_build_sglist().
v2:
* Build fix for CONFIG_BLK_DEV_IDEDMA=n (noticed by Randy Dunlap).There should be no functional changes caused by this patch.
Cc: Randy Dunlap
Signed-off-by: Bartlomiej Zolnierkiewicz -
Check for ide_build_sglist() return value and re-map sg table if necessary.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
This fixes hwif->channel and drive->dn assignments.
v2:
Fix v5/v6 mismatch noticed by Russell.Cc: Russell King
Signed-off-by: Bartlomiej Zolnierkiewicz
03 Feb, 2009
1 commit
-
We need to pass struct ide_port_info also to ide_host_register().
v2:
Fix v5/v6 mismatch noticed by Russell.Cc: Russell King
Signed-off-by: Bartlomiej Zolnierkiewicz
07 Jan, 2009
2 commits
-
Signed-off-by: Bartlomiej Zolnierkiewicz
-
* Merge ide_hwgroup_t with ide_hwif_t.
* Cleanup init_irq() accordingly, then remove no longer needed
ide_remove_port_from_hwgroup() and ide_ports[].* Remove now unused HWGROUP() macro.
While at it:
* ide_dump_ata_error() fixups
v2:
* Fix ->quirk_list check in do_ide_request()
(s/hwif->cur_dev/prev_port->cur_dev).Signed-off-by: Bartlomiej Zolnierkiewicz
01 Dec, 2008
1 commit
-
icside_register_v[56] is called from (__devinit) icside_probe
Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds
27 Oct, 2008
1 commit
-
a) semicolon before the function body is a bad idea
b) it's const struct foo, not struct const foo
c) incidentally, it's ecard_remove_driver(), not ecard_unregister_driver()
d) compiling is occasionally useful.Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds
22 Oct, 2008
1 commit
-
Suggested-by: Ralf Baechle
Signed-off-by: Bartlomiej Zolnierkiewicz