¿Cómo puede un controlador escrito en Linux usando un dispositivo de plataforma saber si es un dispositivo de caracteres o un dispositivo de bloque?
Platform_device no es un concepto paralelo a los dispositivos de caracteres y dispositivos de bloque, sino un medio para administrar dispositivos proporcionado por el sistema Linux. Todos los controladores periféricos independientes integrados en el sistema SOC y los periféricos conectados al espacio de almacenamiento SOC pertenecen al dispositivo de plataforma. Por ejemplo, en el procesador ARM S3C6410, sus controladores I2C, PTC, SPI, LCD y de vigilancia integrados internamente se resumen como dispositivos de plataforma, y estos dispositivos en sí mismos son dispositivos de caracteres. Esto significa que los dispositivos de la Plataforma no están clasificados como dispositivos de caracteres o dispositivos de bloque.
La diferencia entre dispositivos de caracteres y dispositivos de bloques es que los primeros sólo se pueden leer y escribir de forma secuencial, mientras que a los segundos se puede acceder de forma aleatoria. La mayoría de los dispositivos son dispositivos de caracteres, que implementan estructuras de operación de archivos en bytes. El disco es un dispositivo de bloques que acepta entradas y devuelve salidas en bloques. Implementa la estructura block_device_operatives.