Kernel: Give PTY's *actually* unique major ID's

Okay, one "dunce hat" point for me. The new PTY majors conflicted with
PATAChannel. Now they are 200 for master and 201 for slave, not used
by anything else.. I hope!
This commit is contained in:
Andreas Kling 2019-12-09 21:03:39 +01:00
parent be459acaea
commit e9dda8d592
Notes: sideshowbarker 2024-07-19 10:54:20 +09:00
4 changed files with 7 additions and 3 deletions

View File

@ -30,6 +30,10 @@ Device::Device(unsigned major, unsigned minor)
, m_minor(minor)
{
u32 device_id = encoded_device(major, minor);
auto it = all_devices().find(device_id);
if (it != all_devices().end()) {
dbg() << "Already registered " << major << "," << minor << ": " << it->value->class_name();
}
ASSERT(!all_devices().contains(device_id));
all_devices().set(device_id, this);
}

View File

@ -69,7 +69,7 @@ RefPtr<Inode> DevPtsFS::get_inode(InodeIdentifier inode_id) const
return m_root_inode;
unsigned pty_index = inode_index_to_pty_index(inode_id.index());
auto* device = Device::get_device(11, pty_index);
auto* device = Device::get_device(201, pty_index);
ASSERT(device);
auto inode = adopt(*new DevPtsFSInode(const_cast<DevPtsFS&>(*this), inode_id.index()));

View File

@ -9,7 +9,7 @@
//#define MASTERPTY_DEBUG
MasterPTY::MasterPTY(unsigned index)
: CharacterDevice(100, index)
: CharacterDevice(200, index)
, m_slave(adopt(*new SlavePTY(*this, index)))
, m_index(index)
{

View File

@ -6,7 +6,7 @@
//#define SLAVEPTY_DEBUG
SlavePTY::SlavePTY(MasterPTY& master, unsigned index)
: TTY(101, index)
: TTY(201, index)
, m_master(master)
, m_index(index)
{