1.1 --- a/pkg/devices/lib/msc/src/x1600.cc Wed Apr 24 00:47:34 2024 +0200
1.2 +++ b/pkg/devices/lib/msc/src/x1600.cc Sat Apr 27 23:46:28 2024 +0200
1.3 @@ -31,7 +31,7 @@
1.4 Msc_x1600_channel::Msc_x1600_channel(l4_addr_t msc_start, l4_addr_t addr,
1.5 l4_cap_idx_t irq,
1.6 Cpm_chip *cpm, enum Clock_identifiers clock,
1.7 - Dma_x1600_channel *dma,
1.8 + Dma_channel *dma,
1.9 enum Dma_x1600_request_type request_type_in,
1.10 enum Dma_x1600_request_type request_type_out)
1.11 : Msc_channel(msc_start, addr, irq, cpm, clock),
1.12 @@ -77,7 +77,7 @@
1.13 recv ? false : true, // increment source if sending
1.14 recv ? true : false, // increment destination if receiving
1.15 4, 4, unit_size,
1.16 - recv ? _request_type_in : _request_type_out);
1.17 + (int) (recv ? _request_type_in : _request_type_out));
1.18
1.19 return to_transfer * unit_size;
1.20 }
1.21 @@ -93,7 +93,7 @@
1.22 }
1.23
1.24 Msc_channel *Msc_x1600_chip::get_channel(uint8_t channel, l4_cap_idx_t irq,
1.25 - Dma_x1600_channel *dma)
1.26 + Dma_channel *dma)
1.27 {
1.28 if (channel < num_channels())
1.29 return new Msc_x1600_channel(_msc_start + channel * Msc_channel_offset,
1.30 @@ -104,6 +104,12 @@
1.31 throw -L4_EINVAL;
1.32 }
1.33
1.34 +Msc_chip *x1600_msc_chip(l4_addr_t msc_start, l4_addr_t start, l4_addr_t end,
1.35 + Cpm_chip *cpm)
1.36 +{
1.37 + return new Msc_x1600_chip(msc_start, start, end, cpm);
1.38 +}
1.39 +
1.40
1.41
1.42 // C language interface functions.
1.43 @@ -111,15 +117,15 @@
1.44 void *x1600_msc_init(l4_addr_t msc_start, l4_addr_t start, l4_addr_t end,
1.45 void *cpm)
1.46 {
1.47 - return (void *) new Msc_x1600_chip(msc_start, start, end,
1.48 - static_cast<Cpm_x1600_chip *>(cpm));
1.49 + return (void *) x1600_msc_chip(msc_start, start, end,
1.50 + static_cast<Cpm_chip *>(cpm));
1.51 }
1.52
1.53 void *x1600_msc_get_channel(void *msc, uint8_t channel, l4_cap_idx_t irq,
1.54 void *dma)
1.55 {
1.56 - return static_cast<Msc_x1600_chip *>(msc)->get_channel(channel, irq,
1.57 - static_cast<Dma_x1600_channel *>(dma));
1.58 + return static_cast<Msc_chip *>(msc)->get_channel(channel, irq,
1.59 + static_cast<Dma_channel *>(dma));
1.60 }
1.61
1.62 struct msc_card *x1600_msc_get_cards(void *msc_channel)