Compare commits
2 Commits
v2.4.1
...
branched-2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
75b7b53f10 | ||
|
|
6105ec0b16 |
@@ -921,12 +921,8 @@ static inline void wctdm_transmitprep(struct wctdm *wc, unsigned char *writechun
|
||||
if (x < DAHDI_CHUNKSIZE - 1) {
|
||||
writechunk[EFRAME_SIZE] = wc->ctlreg;
|
||||
writechunk[EFRAME_SIZE + 1] = wc->txident++;
|
||||
|
||||
if ((wc->desc->ports == 4) && ((wc->ctlreg & 0x10))) {
|
||||
writechunk[EFRAME_SIZE + 2] = 0;
|
||||
for (y = 0; y < 4; y++)
|
||||
writechunk[EFRAME_SIZE + 2] |= (1 << y);
|
||||
}
|
||||
if (4 == wc->desc->ports)
|
||||
writechunk[EFRAME_SIZE + 2] = wc->tdm410leds;
|
||||
}
|
||||
writechunk += (EFRAME_SIZE + EFRAME_GAP);
|
||||
}
|
||||
@@ -4592,6 +4588,21 @@ static inline void remove_sysfs_files(struct wctdm *wc) { return; }
|
||||
|
||||
#endif /* CONFIG_VOICEBUS_SYSFS */
|
||||
|
||||
static void wctdm_set_tdm410_leds(struct wctdm *wc)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (4 != wc->desc->ports)
|
||||
return;
|
||||
|
||||
wc->tdm410leds = 0; /* all on by default */
|
||||
for (i = 0; i < wc->desc->ports; ++i) {
|
||||
/* Turn off the LED for any module that isn't installed. */
|
||||
if (MOD_TYPE_NONE == wc->modtype[i])
|
||||
wc->tdm410leds |= (1 << i);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef USE_ASYNC_INIT
|
||||
struct async_data {
|
||||
struct pci_dev *pdev;
|
||||
@@ -4734,6 +4745,8 @@ __wctdm_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
/* Now track down what modules are installed */
|
||||
wctdm_identify_modules(wc);
|
||||
|
||||
wctdm_set_tdm410_leds(wc);
|
||||
|
||||
if (fatal_signal_pending(current)) {
|
||||
wctdm_back_out_gracefully(wc);
|
||||
return -EINTR;
|
||||
|
||||
@@ -165,7 +165,8 @@ struct wctdm {
|
||||
unsigned char rxident;
|
||||
|
||||
int flags[NUM_MODULES]; /* bitmap of board-specific + module-specific flags */
|
||||
unsigned char ctlreg; /* FIXME: something to do with VPM? */
|
||||
u8 ctlreg;
|
||||
u8 tdm410leds;
|
||||
|
||||
int mods_per_board; /* maximum number of modules for this board */
|
||||
int digi_mods; /* number of digital modules present */
|
||||
|
||||
@@ -87,7 +87,13 @@
|
||||
#endif
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
|
||||
#define dev_name(dev) (dev)->bus_id
|
||||
# ifdef RHEL_RELEASE_VERSION
|
||||
# if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(5, 6)
|
||||
#define dev_name(dev) ((dev)->bus_id)
|
||||
# endif
|
||||
# else
|
||||
#define dev_name(dev) ((dev)->bus_id)
|
||||
# endif
|
||||
#define dev_set_name(dev, format, ...) \
|
||||
snprintf((dev)->bus_id, BUS_ID_SIZE, format, ## __VA_ARGS__);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user