extern struct spi_device* neuronspi_s_dev[NEURONSPI_MAX_DEVS];
extern struct task_struct *neuronspi_invalidate_thread;
-extern u8 neuronspi_spi_w_flag;
-extern u8 neuronspi_probe_count;
extern int neuronspi_model_id;
-extern spinlock_t neuronspi_probe_spinlock;
#endif /* MODULES_NEURON_SPI_SRC_UNIPI_COMMON_H_ */
struct mutex neuronspi_master_mutex;
struct mutex unipi_inv_speed_mutex;
-struct spinlock *neuronspi_ldisc_spinlock;
struct spinlock *neuronspi_spi_w_spinlock;
-u8 neuronspi_spi_w_flag = 1;
-u8 neuronspi_probe_count = 0;
int neuronspi_model_id = -1;
-spinlock_t neuronspi_probe_spinlock;
struct spi_device *neuronspi_s_dev[NEURONSPI_MAX_DEVS];
struct task_struct *neuronspi_invalidate_thread;
-struct sched_param neuronspi_sched_param = { .sched_priority = MAX_RT_PRIO / 2 };
+static u8 neuronspi_spi_w_flag = 1;
+static u8 neuronspi_probe_count = 0;
+static struct spinlock *neuronspi_probe_spinlock;
+static struct sched_param neuronspi_sched_param = { .sched_priority = MAX_RT_PRIO / 2 };
/************************
* Non-static Functions *
s32 ret, i, no_irq = 0;
u8 uart_count = 0;
n_spi = kzalloc(sizeof *n_spi, GFP_ATOMIC);
- spin_lock(&neuronspi_probe_spinlock);
+ spin_lock(neuronspi_probe_spinlock);
neuronspi_probe_count++;
- spin_unlock(&neuronspi_probe_spinlock);
+ spin_unlock(neuronspi_probe_spinlock);
if (!n_spi)
return -ENOMEM;
printk(KERN_INFO "NEURONSPI: Neuronspi Probe Started\n");
#if NEURONSPI_DETAILED_DEBUG > 0
printk(KERN_DEBUG "NEURONSPI: CHIP SELECT %d\n", spi->chip_select);
#endif
- spin_lock(&neuronspi_probe_spinlock);
+ spin_lock(neuronspi_probe_spinlock);
neuronspi_s_dev[n_spi->neuron_index] = spi;
spi_set_drvdata(neuronspi_s_dev[n_spi->neuron_index], n_spi);
if (neuronspi_probe_count == NEURONSPI_MAX_DEVS) {
neuronspi_model_id = neuronspi_find_model_id(neuronspi_probe_count);
}
- spin_unlock(&neuronspi_probe_spinlock);
+ spin_unlock(neuronspi_probe_spinlock);
if (neuronspi_model_id != -1) {
printk(KERN_INFO "NEURONSPI: Detected Neuron board combination corresponding to %s\n", NEURONSPI_MODELTABLE[neuronspi_model_id].model_name);
}
s32 ret = 0;
neuronspi_spi_w_spinlock = kzalloc(sizeof(struct spinlock), GFP_ATOMIC);
spin_lock_init(neuronspi_spi_w_spinlock);
+ neuronspi_probe_spinlock = kzalloc(sizeof(struct spinlock), GFP_ATOMIC);
+ spin_lock_init(neuronspi_probe_spinlock);
mutex_init(&neuronspi_master_mutex);
mutex_init(&unipi_inv_speed_mutex);
memset(&neuronspi_s_dev, 0, sizeof(neuronspi_s_dev));
unsigned long neuronspi_lines;
struct uart_driver* neuronspi_uart;
-struct sched_param neuronspi_sched_param = { .sched_priority = MAX_RT_PRIO / 2 };
+static struct sched_param neuronspi_sched_param = { .sched_priority = MAX_RT_PRIO / 2 };
-/************************
- * Non-static Functions *
- ************************/
+/********************
+ * Static Functions *
+ ********************/
static void neuronspi_uart_set_iflags(struct uart_port *port, int to)
{
kfree(outp_buf);
}
+/************************
+ * Non-static Functions *
+ ************************/
+
void neuronspi_uart_set_ldisc(struct uart_port *port, struct ktermios *kterm)
{
u8 *inp_buf, *outp_buf;
/* Get length of data pending in circular buffer */
to_send = uart_circ_chars_pending(xmit);
- printk(KERN_INFO "NEURONSPI UART_HANDLE_TX, to_send:%d, tx_work_count:%d\n", to_send, port->tx_work_count);
+ printk(KERN_INFO "NEURONSPI UART_HANDLE_TX A, to_send:%d, tx_work_count:%d\n", to_send, port->tx_work_count);
if (likely(to_send)) {
/* Limit to size of (TX FIFO / 2) */
max_txlen = NEURONSPI_FIFO_SIZE >> 1;
port->buf[i] = xmit->buf[xmit->tail];
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
}
- printk(KERN_INFO "NEURONSPI UART_HANDLE_TX, to_send:%d, tx_work_count:%d\n", to_send_packet, port->tx_work_count);
+ printk(KERN_INFO "NEURONSPI UART_HANDLE_TX B, to_send:%d, tx_work_count:%d\n", to_send_packet, port->tx_work_count);
neuronspi_uart_fifo_write(port, to_send_packet);
to_send -= to_send_packet;
}
port->buf[i] = xmit->buf[xmit->tail];
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
}
- printk(KERN_INFO "NEURONSPI UART_HANDLE_TX, to_send:%d, tx_work_count:%d\n", to_send, port->tx_work_count);
+ printk(KERN_INFO "NEURONSPI UART_HANDLE_TX C, to_send:%d, tx_work_count:%d\n", to_send, port->tx_work_count);
neuronspi_uart_fifo_write(port, to_send);
}
-Repository:neuron-kernel ActiveBranch:[uart_timeout] PrecedingRelease:v.0.12 PrecedingRevision:62(349a4cf) LatestCommit:Wed Jun 27 14:19:09 CEST 2018
+Repository:neuron-kernel ActiveBranch:[uart_timeout] PrecedingRelease:v.0.12 PrecedingRevision:63(e86884a) LatestCommit:Wed Jun 27 14:46:16 CEST 2018